Spring MVC 3 Validation annoations - подтверждение по электронной почте - PullRequest
3 голосов
/ 17 октября 2011

Я пытаюсь проверить форму, используя Spring с интегрированными проверками JSR-303 с реализацией Hibernate.У меня есть поле "Подтвердить адрес электронной почты" (emailConf), которое я хочу подтвердить, равно полю email.Я видел сообщение о том, что кто-то делает это так:

public class ContactInfoForm {

    @NotEmpty
    private String name;

    @NotEmpty
    @Email
    private String email;

    @Expression(value = "emailConf= email", applyIf = "emailConf is not blank")
    private String emailConf;

    ...
}

Однако эта проверка emailConf не работает (т. Е. Не возникает ошибка, когда поля не совпадают).Я видел пару учебных пособий, в которых были показаны похожие аннотации, но больше не могу их найти или какой-либо документации о том, как это работает.Кто-нибудь знает способ проверки полей «подтвердить адрес электронной почты / пароль» с помощью аннотации?В настоящее время я использую альтернативу, которая заключается в реализации Validator и проверке полей подтверждения в методе validate.

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Вам нужно «Ограничение уровня класса» (как описано в JSR-303), если вы хотите сравнить 2 поля одного и того же класса. Я не думаю, что ваш @Expression будет работать таким образом.

1 голос
/ 17 октября 2011

Возможно, вам стоит взглянуть на этот вопрос и ответы на него : обсуждается много способов, как выполнить такую ​​проверку (речь идет о пароле и подтверждении пароля, но проблема та же).

...