Yii2 - Validazione input

Se ho tre campi chiamati per esempio A B C

posso tramite function rules

controllare che venga valorizzato almeno uno di qusti 3 campi o solo uno di questi tre campi.

Grazie

Puoi fare il controllo estendendo il metodo afterValidate del model, ovvero:




public function afterValidate()

{

     parent::afterValidate();


     if( ($this->a == null)&&($this->b == null)&&($this->c == null) )

     {

           $this->addError('a', 'valorizzare almeno un campo');

     }

}



Oppure fai un validator custom e lo agganci ad uno solo dei tre. Questo verificherà che almeno uno dei tre attributi sia valorizzato