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

Tutorial de implementación de calendario de rango de fechas con Karkit en gridView

Cómo evitar el reenvío de formulario

Como instalar Yii en Windows usando App Serv

hostinger

ventana bienvenida