Validar entrada de campos dependientes

Saludos foristas, estoy intentando hacer una validación en YII2 para que alerte en caso de que haya un campo con valor y el resto sin llenar. El caso que ningún campo es obligatorio pero si se llena uno el usuario debe llenarlos todos. ¿Conocen alguna regla del modelo para este caso?

La otra alternativa que he vistos para validar es hacer una función en js y llamarla en el onsubmit del formulario, pero no tengo idea de como poner el onsubmit en yii1 es algo como esto:




"clientOptions"=>array(

            'validateOnSubmit'=>true,

            'afterValidate'=>'"validar_entradas()"',



Pero en yii2 me da bateo con el ‘afterValidate’.

Cualquier idea es bienbenida.

Hola Rob_Lan,

Desde luego que es posible hacerlo desde las "rules":

Sólo debe definir el parámetro "when" (en la regla de valiación), que le permite a través de una función anónima definir cuándo se valida o cuando no una regla.

Saludos.

Muchas gracias por la ayuda, creo que validando las reglas es la forma más sencilla, pudiera darme un ejemplo del uso del when, es que estuve consultando la página de validaciones de validaciones de rules pero no encontré un ejemplo concreto.

Del manual:




[

    ['state', 'required', 'when' => function ($model) {

        return $model->country == 'USA';

    }, 'whenClient' => "function (attribute, value) {

        return $('#country').val() == 'USA';

    }"],

]



Saludos.

Funciona muy bien, muchas gracias!! :D.