Я должен выполнить проверку, как указано в названии, что требуется одно из двух полей (электронная почта, телефон). Я делаю это в моем model
:Yii2: Любое одно поле обязательно. Валидация
[['email'],'either', ['other' => ['phone']]],
И это метод:
public function either($attribute_name, $params) {
$field1 = $this->getAttributeLabel($attribute_name);
$field2 = $this->getAttributeLabel($params['other']);
if (empty($this->$attribute_name) && empty($this->$params['other'])) {
$this->addError($attribute_name, Yii::t('user', "either {$field1} or {$field2} is required."));
return false;
}
return true;
}
Когда я получить доступ к моей странице индекса, это дает мне эту ошибку:
Exception (Unknown Property) 'yii\base\UnknownPropertyException' with message 'Setting unknown property: yii\validators\InlineValidator::0'
Любая помощь ?
Параметры не должны быть в массиве. – Bizley
Изменены параметры, которые не должны быть в массиве, по-прежнему такая же ошибка! – Saani
Попробуйте добавить фигурные скобки в 'empty ($ this -> {$ params ['other']})' – Bizley