【发布时间】:2014-09-18 14:34:32
【问题描述】:
我需要在使用 Web 服务创建帐户时验证电子邮件和密码。我正在使用 Spring REST 控制器并计划使用 @Email(hibernate validator) 注释进行电子邮件 ID 验证。对于密码验证,我必须通过实现 Validator 接口来编写自定义验证器。
@XmlRootElement
public class Account implements Serializable {
@Email(message =AccountErrorCodes.ACCOUNT_EMAIL_VALIDATION)
private String emailId;
private String password;
用于编写自己的验证器的密码
@Autowired
private PasswordValidator passwordValidator;
@InitBinder
private void initBinder(WebDataBinder binder) {
binder.setValidator(passwordValidator);
}
看起来两者不能共存。当我尝试验证 EmailId 时,spring 调用 passwordValidator 但无法验证电子邮件。我预计由于电子邮件 ID 不正确而导致失败。当我禁用自定义验证器时,我会收到所需的错误消息。
看起来我错过了什么。我需要做些什么来让它工作吗?还是不支持?如果不支持,我可以直接从 spring 自定义验证器调用 Hibernate 验证器以避免为电子邮件编写自己的验证吗?
【问题讨论】:
标签: spring hibernate-validator customvalidator