Hola, este es el segundo proyecto que estoy afrontando con yii2 y quisiera que me aclaren un poco el panorama sobre una duda.
Tengo en mi bbdd una relación uno-muchos. He creado el CRUD del "uno", pero con un botón, a través ajax, quisiera ir agregando "muchos" en el formulario de "uno" y que el todo sea validad por el cliente y por el servidor, osea:
formulario "uno"
-input dato "uno"
-input otro dato "uno"
–agregar "muchos" (al dar click)
formulario "uno"
-input dato "uno"
-input otro dato "uno"
—input dato "muchos"
—input otro dato "muchos"
–agregar "muchos"
puedo crear un modelo para muchos con las respectivas reglas, y que con estas valide sea cliente que servidor? Lo he intentado, pero con Html::activeTextInput no coge ni estilos ni reglas de validación, si uso ActiveForm si coge los estilos y carga el js de validaciones, pero no funcionan (pongo letras en un campo que debería ser integer y no bota error), sin contar que me crea otro formulario en el DOM (cosa que, si posible, preferiría evitar).
mi controlador es algo así
(el modelo ServicioAjax corresponde a "muchos", y $id corresponde solo al id que tomará el div)
public function actionAgregarAjax()
{
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$post = Yii::$app->request->post();
$id = (int)$post['numeroId'];
if ($id == 0) {
return ['estado' => 0, 'mensaje' => 'problemas al agregar servicio'];
}
$model = new ServicioAjax();
$view = $this->renderAjax('agregar-ajax', [
'idServicio' => $id,
'model' => $model,
'tipos' => ArrayHelper::map(TipoServicio::activos(),'id','nombre')
]);
return ['estado' => 1, 'view' => $view];
}
}
ojala me puedan dar una mano para encontrar la solución o consejos de la mejor manera de hacer lo que busco.
Saludos