• 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的。

  • 相关阅读:
    Python面向对象:继承和多态
    Python面向对象:类、实例与访问限制
    Python正则表达式匹配猫眼电影HTML信息
    Git:从github上克隆、修改和更新项目
    Python:闭包
    JPA-映射-(@ManyToMany)双向多对多
    rownum详解
    java之yield(),sleep(),wait()区别详解
    springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
    @RequestParam,@PathVariable,@ResponseBody,@RequestBody,@ModelAttribute学习
  • 原文地址:https://www.cnblogs.com/jway1101/p/5774012.html
Copyright © 2020-2023  润新知