spring mvc 数据校验

使用hibernate校验框架,在controller类中进行数据校验

 

1、将jar加入工程

 

2、将校验器加入Spring

spring.xml配置文件。

 

 

<!-- 校验器 -->

   <bean id="validator"

        class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">

      <!-- 校验提供方 -->

      <property name="providerClass" value="org.hibernate.validator.HibernateValidator" />

      <!-- 读取属性文件 -->

      <property name="validationMessageSource" ref="messageSource" />

   </bean>

  

   <!-- 资源文件配置 -->

   <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

       <!-- 资源文件 -->

       <property name="basenames">

       <list>

       <value>classpath:UserValidationMessage</value>

       </list>

       </property>

       <!-- 资源文件的编码 -->

       <property name="fileEncodings" value="utf-8"></property>

       <!-- 资源文件内容缓存时间 -->

       <property name="cacheSeconds" value="180"></property>

   </bean>

  

3. UserValidationMessage

里面填写错误信息

 

 

 

4.pojo属性中添加校验规则。

 

 

 

 

 

 

5、controller方法的参数上注明

 

 

 

6.捕获错误信息BindingResult

 

 

 

7、测试

Jsp

 

 

控制台

 

 

 

8、分组校验

 

a、 分组(一个空接口)

 

 

 

b、校验规则 参数groups

 

 

c、controller的@Validated参数 value

 

 

 

 

小结

如果使用了分组@Validated value等于分组,那么只处理这个分组的校验,无分组的(没设置groups)也不校验。同样,如果分组规则有了groups,value参数没有设置,也只校验,没有是指groups的。

 

posted @ 2016-08-15 18:39  jway0101  阅读(244)  评论(0编辑  收藏  举报