springMVC validator

参考http://elim.iteye.com/blog/1812584

(a)Validator接口实现

  1. 实现Validator接口,实现supports(初步:验证类,返回true时会进行validate),validate(eg .验证用户名密码)

  2. controller 中绑定DataBinder,目的是告诉controller需要进行参数验证。使用注释@InitBinder进行validator的绑定(这样写只有在此controller被请求时才会进行初始化,所以只能在此controller中实现,如果需要设置全局的),然后就可以使用了(接收的参数需使用@Valid标注)。

  3. controller接收参数时,一个@Valid注明的参数需要紧跟一个BindingResult参数(也可以是其父类Errors),用于表明检验是否通过。

(b)JSR-303实现

以注释的方式,用在get方法上。可使用原生支持的限制,也可以自己定义注释。需用@Constraint注释指定当前限制类型需要被哪个ConstraintValidator进行校验。
controller里的用的方法是一样的