Я пытаюсь проверить форму с использованием Spring со встроенными проверками JSR-303 с внедрением Hibernate. У меня есть поле «confirm email» (emailConf
), которое я хотел бы подтвердить, равно email
. Я увидел пост кто-то делает это так:Spring MVC 3 Аннотации проверки - Подтвердите адрес электронной почты
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
и проверки правильности полей в методе проверки.
Откуда это аннотация '@ Expression'? – Ralph
Я этого не осознавал, но аннотация @Expression от «spring-modules», которую я даже не понимал, все еще оставалась в моем пути к классу. Я поместил это в свой classpath, когда я изначально следовал руководству по валидации, но в итоге использовал JSR-303 и Hibernate Validator. Я не очень хорошо знаком с весенними модулями, но на странице форума SpringSource есть объявление от августа 2010 года, в котором говорится, что «Форум Spring Modules выведен из эксплуатации в пользу Spring Extensions». Если он больше не поддерживается, я бы предпочел не использовать эту библиотеку. –