Como validar un campo sólo en el create

Como validar un campo sólo en el create

Algunas veces necesitamos validar que ciertos campos se validen sólo en ciertos casos, podría ser en el create ó en el update, para estos casos se utilizan los llamados escenarios.




Para utilizar los escenarios podemos agregar dentro de las reglas dentro del modelo de la siguiente manera:




    public function rules()
    {
        return [
            
            ...

            [['password'], 'required' , 'on' => 'create' ], 

            ....

            ];
    }



En este ejemplo, yo deseo que para el evento 'create' se aplique la regla de que el password sea requerido, para esto debemos agregar justo después del controller lo siguiente:


        $model = new Usuario();
        $model->scenario = 'create'; // Establece un escenario

    
Utilizando esta sentencia se establece que para ese modelo se utilizará el escenario llamado "create" que fue definido dentro de las reglas.

Actualizado: 13-Abril-2021

Referencias:

https://www.yiiframework.com/doc/guide/2.0/en/structure-models#scenarios


Comentarios

Aprende Yii2


Lo más Visto

Como crear formulario HTML de carga de archivo sin Active Record

Como personalizar pagina de error 404

Como enviar un correo si se produce un error en el sistema

Como agregar select2 como filtro de un gridview utilizando Ajax para la búsqueda de elementos

Como crear un log por categoría

hostinger

ventana bienvenida