Ho una actionSend che esegue subito questo
$model=$this->loadModel($id);
$model->scenario = "send";
Nel model ho questo tra le rules()
array('rcpt_address_list, rcpt_contact_group', 'validateRecipient', 'on'=>'send' ),
Ed ecco il validatore
public function validateRecipient($attribute, $params)
{
Yii::trace ( "contact_group: " . $this->rcpt_contact_group , "mirko");
Yii::trace ( "rcpt_address_list: " . $this->rcpt_address_list , "mirko" );
if (!$this->rcpt_contact_group and !$this->rcpt_address_list) {
$this->addError("rcpt_contact_group", Yii::t('Newsletter' , 'specify at least one recipient or one grup to send to' ));
}
return ;
}
Il problema è che questo validatore, non viene mai eseguito, come testimonia sia la mancanza del log che il fatto che se non inserisco nessuno dei due campi l’action viene ritenuta ammissibile e quindi eseguita.
Cosa ho sbagliato ? E’ la prima volta che uso uno scenario custom, perchè mi sono accorto di quanto possano essere pratici, se funzionano …