Я пытался решить ту же проблему сегодня. У меня есть код ниже.
public function rules()
{
return array(
// array('username, email', 'required'), // Remove these fields from required!!
array('email', 'email'),
array('username, email', 'my_equired'), // do it below any validation of username and email field
);
}
public function my_required($attribute_name, $params)
{
if (empty($this->username)
&& empty($this->email)
) {
$this->addError($attribute_name, Yii::t('user', 'At least 1 of the field must be filled up properly'));
return false;
}
return true;
}
Общая идея состоит в том, чтобы переместить 'обязательную' проверку в пользовательский метод my_required (), который может проверять, заполнено ли какое-либо из полей.
Я вижу, что это сообщение 2011 года, но я не смог найти для него другого решения. Я надеюсь, что это сработает для вас или других в будущем.
Наслаждайтесь.