Повторная проверка формы Symfony 2 в Entity с аннотацией - PullRequest
0 голосов
/ 19 марта 2012

Мой вопрос: «Как я могу выполнить повторную проверку в Entity с аннотацией?». У меня есть учетная запись с атрибутами (электронная почта, пароль и verifyPassword). Когда новый пользователь регистрирует новую учетную запись, он / она должен заполнить поля электронной почты, пароля и пароля для подтверждения. Очевидно, поля password и verifyPassword должны совпадать. Я видел пример этой проверки с чистым php (построителем форм) в Stachoverflow, как показано ниже.

$builder->add('password', 'repeated', array(
    'type' => 'password',
    'first_name' => 'Password',
    'second_name' => 'Password confirmation',
    'invalid_message' => 'Passwords are not the same',
));

Но это не то, что я хочу. Я хочу эту функцию с аннотацией в моей учетной записи. Может быть,

* @Assert\Match(
*      matchField = "password",
*      message = "The password confirmation does not match password."
* )
protected $confirmPassword;

Ответы [ 2 ]

1 голос
/ 21 сентября 2012

См. http://symfony.com/doc/current/reference/forms/types/repeated.html#validation

Одной из ключевых особенностей повторяющегося поля является внутренняя проверка (вам не нужно ничего делать, чтобы настроить это), что заставляет два поля, чтобы иметь совпадающее значение. Если два поля не совпадают, ошибка будет показана пользователю.

1 голос
/ 19 апреля 2012

Вы можете использовать метод проверки:

/**
 * @Assert\True(message = "Passwords are not the same")
 */
public function isPasswordLegal()
{
   return ($this->password == $this->confirmPassword);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...