У меня есть форма регистрации пользователя с полем email
, которое действует как имя пользователя и должно быть уникальным для всего приложения.
User
модель имеет следующие правила проверки для этого поля:
var $validate = array(
'email' => array(
'email' => array('rule' => 'email', 'allowEmpty' => false, 'last' => true, 'message' => 'Valid email address required'),
'unique' => array('rule'=> 'isUnique', 'message' => 'Already exists'),
),
);
В моем контроллере я хочу проверить, не было ли это правило 'unique'
, которое не удалось (для отображенияразличные элементы формы, такие как кнопка «Отправить письмо для восстановления пароля»).
Я могу проверить, было ли поле email
действительным или нет (if (isset($this->User->validationErrors['email']))
), но как проверить наличие ошибки конкретного правила?
Искать конкретное сообщение об ошибке, например if ($this->User->validationErrors['email'] == "Already exists")
, кажется не совсем правильным (l10n и т. Д.) ...