使用动态值进行Spring自定义验证?

时间:2014-03-17 20:25:30

标签: spring annotations spring-form spring-validator

我有一个包含两个字段的表单:

    <input id="password"...
    <input id="confirmpassword"...

我有一个表单绑定对象,它绑定到这两个变量。

  class FormBindingClass
   {
       private String password;
       private String confirmPassword;
       ......
       ......
   }

现在我使用@NotEmpty和@Pattern验证器验证上述两个字段,但是我需要确保confirmPassword与服务器端的密码 匹配!

如果没有,那么我需要使绑定结果失败并将错误显示给用户。我怎么能做到这一点?我探索了制作自定义注释,如:

 @MustMatch(password)
 private String confirmPassword;

但是我不能将动态值传递给注释吗?我怎样才能解决这个棘手的问题。

1 个答案:

答案 0 :(得分:0)

这是你的dao层的验证,在一般情况下,你会向Web层抛出异常并适当处理。因此,你必须在业务逻辑中手动验证这一点,并在Web层构建错误响应。

spring MVC验证基本上用于表单支持的数据,并且没有任何业务逻辑依赖。