springmvc的@Validated注解使用

  

1。校验的错误信息,可以直接在豆属性上配置,也可以在属性中配置。

  

2。将校验器bean配置到注解驱动上

  

3。在需要校验的 pojo 前边添加@Validated,在需要校验的 pojo 后边添加BindingResult BindingResult接收校验出错信息

  

注意:@Validated和BindingResult BindingResult是配对出现,并且形参顺序是固定的(一前一后)。

  

使用验证所需配置:

  

1。jar包

  

 springmvc的@Validated注解使用“> <br/>
  </p>
  <p> 2。application.xml </p>
  
  <pre类=   & lt; !——验证校验配置开始——比;   & lt; bean id=把橹て鳌崩?" org.springframework.validation.beanvalidation。祝辞LocalValidatorFactoryBean”;   & lt; !——提供检验机制的类:此处用的而是Hibernate校验器,但是跟Hibernate没有关系——比;   & lt;属性名=" providerClass " value=" https://www.yisu.com/zixun/org.hibernate.validator.HibernateValidator "/比;   & lt; !——指定校验的使用的资源文件,如果不需要额外的错误配置文件,就不用配置该属性,   在配置文件中配置离子束进行的错误提示信息,如果不指定则使用默认配置:类路径下的ValidationMessages。属性——比;   & lt;属性名=" validationMessageSource " ref=" messoreSources "/比;   & lt;/bean>   & lt; !- - - - -在   & lt; bean id=癿essoreSources”类=皁rg.springframework.context.support.ReloadableResourceBundleMessageSource”比;   & lt; !——错误信息资源文件,不需要写后缀,默认后缀为。属性——比;   & lt;属性名=":"在   & lt; list>   & lt; value>类路径:testErrMessages   & lt;/list>   & lt;/property>   & lt; !——错误信息文件编码方式——比;   & lt;属性名=" fileEncodings " value=" https://www.yisu.com/zixun/utf-8 "/比;   & lt; !——错误信息文件缓存时间——比;   & lt;属性名=" cacheSeconds " value=" https://www.yisu.com/zixun/120 "/比;   & lt;/bean>   & lt; !——验证校验配置结束——比;         & lt; !——注解驱动,替换处理器映射器,处理器适配器——比;   & lt; mvc:注解驱动的验证器=把橹て鳌?祝辞      

3。testErrMessage.properties文件

  

文件结构:

  

 springmvc的@Validated注解使用“> <br/>
  </p>
  <p>文件内容:</p>
  <p> <img src=   公开课ValidBean {//直接配置错误信息   @NotBlank(消息="用户名不能为空”,组={UserGroup1.class})   私人字符串名称;      @Max (value=https://www.yisu.com/zixun/120,消息="年龄最大为120”)   私人整数年龄;//使用配置文件中的错误信息,属性中的关键:消息="{关键},{}:占位符   @NotBlank(消息=" {validator.user.address}”)   私人字符串地址;   }      

5。控制器

        @ controller   @RequestMapping(“/测试/?   公开课ValidTestController {/* *   *   * @desc:校验没有分组的属性   * @auth:带   * 2017年2月19日下午2:35:42   * @param豆   * @param bindingResult   * @return   */@RequestMapping(“有效的”)   @ResponseBody   公共结果testValid (@Validated ValidBean bean BindingResult BindingResult) {   结果结果=new ();   地图retMap=new HashMap ();   StringBuilder某人=new StringBuilder ();   如果(bindingResult.hasErrors ()) {   List错误=bindingResult.getAllErrors ();   (ObjectError犯错:错误){   sb.append (err.getDefaultMessage () +”;”);   }   result.setErrInfo (sb.toString ());   result.setErrNo (1);   返回结果;   }   retMap。把(“豆”,豆);   result.success ();   result.setData (retMap);   返回结果;   }/* *   *   * @desc:仅对属于userGroup组的属性进行校验   * @auth:带   * 2017年2月19日下午2:37:03   * @param豆   * @param bindingResult   * @return   */@RequestMapping(“集团/有效”)   @ResponseBody   公共结果testGroupValid (@Validated (value=https://www.yisu.com/zixun/UserGroup1.class) ValidBean bean BindingResult BindingResult) {   结果结果=new ();   地图retMap=new HashMap ();   StringBuilder某人=new StringBuilder ();   如果(bindingResult.hasErrors ()) {   列表

springmvc的@Validated注解使用