В моей модели формы у меня есть пользовательская функция проверки для поля, определенного таким образом.
...
class SignupForm extends Model
{
public function rules()
{
return [
['birth_date', 'checkDateFormat'],
// other rules
];
}
public function checkDateFormat($attribute, $params)
{
// no real check at the moment to be sure that the error is triggered
$this->addError($attribute, Yii::t('user', 'You entered an invalid date format.'));
}
}
Сообщение об ошибке не отображается под полем формы, когда я нажимаю кнопку отправки, в то время как другие правила, такие как требуемый адрес электронной почты и пароль, отображаются.
Я работаю над собственной формой регистрации, поэтому, чтобы убедиться, что это не проблема, я установил правило
['username', 'checkDateFormat']
и удалили все другие правила, связанные с полем имени пользователя, но сообщение не появляется ни для него.
Я пробовал передавать ничего как параметры checkDateFormat, я попытался явно передать имя поля addError()
$this->addError('username', '....');
но ничего не появляется.
Каков правильный способ настройки пользовательской функции проверки?