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

 

1、将jar加入工程

spring mvc 数据校验

 

2、将校验器加入Spring

spring.xml配置文件。

 spring mvc 数据校验

 

<!-- 校验器 -->

   <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

里面填写错误信息

 spring mvc 数据校验

 

 

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

 spring mvc 数据校验

 

 spring mvc 数据校验

 

 

 

5、controller方法的参数上注明

 spring mvc 数据校验

 

 

6.捕获错误信息BindingResult

 

 spring mvc 数据校验

 

7、测试

Jsp

spring mvc 数据校验

 

 spring mvc 数据校验

控制台

 spring mvc 数据校验

 

 

8、分组校验

 

a、 分组(一个空接口)

 spring mvc 数据校验

spring mvc 数据校验

 

 

b、校验规则 参数groups

 spring mvc 数据校验

 

c、controller的@Validated参数 value

 

 spring mvc 数据校验

 

 

小结

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

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2021-09-18
  • 2022-01-19
  • 2021-08-01
  • 2021-04-23
  • 2021-07-04
猜你喜欢
  • 2021-09-11
  • 2022-12-23
  • 2021-09-27
  • 2021-12-05
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
相关资源
相似解决方案