关于Spring4中validation的使用

今天按照《manning spring in action 4th edition》的5.4.2部分进行表单的validation测试,按照书上的说法,spring4可以实现validation是因为对 JSR 303 - Bean Validation规范进行了支持。使用Java Validation API提供的annotation,给相关属性值进行注解就能达到约束效果,相关注解都定义在javax.validation.constraints里。


一开始我做的时候,只导入了(如果不用maven,直接把包放到WEB-INF/lib下):

友情链接:http://mvnrepository.com/


    javax.validation
    validation-api
    1.1.0.Final

然而,并不能达到数据验证的效果,也不报错.......后来发现书中有一段话,说道: No extra configuration is required to make Java Validation work in Spring MVC. You just need to make sure an implementation of the Java API, such as Hibernate Validator, is in the project’s classpath..........在Spring MVC中启用Java Validation并不需要其他配置,只需要确认有一个Java API的实现(例如 Hibernate Validator)放在工程的classpath。


所以需要找一份Hibernate Validator的实现:


    org.hibernate
    hibernate-validator
    5.1.3.Final
当我加入后,出现一大堆错误.....这时候我的内心是喜悦的.....因为至少有错误发生....所以对待一个人最残忍的是什么....是沉默....你打我骂我也好过不理我.....


根据错误的大致意思...应该是缺少依赖包之类的,陆陆续续加了以下两个包:


	org.jboss.logging
	jboss-logging
	3.1.4.GA


    com.fasterxml
    classmate
    1.3.1


好了,这下就没问题了,不过还有一点值得交代的是@NotNull、@NotEmpty、@NotBlank的区别:

这里有篇帖子说得很好



你可能感兴趣的:(Spring)