1。校验的错误信息,可以直接在豆属性上配置,也可以在属性中配置。
2。将校验器bean配置到注解驱动上
3。在需要校验的 pojo 前边添加@Validated,在需要校验的 pojo 后边添加BindingResult BindingResult接收校验出错信息
注意:@Validated和BindingResult BindingResult是配对出现,并且形参顺序是固定的(一前一后)。
使用验证所需配置:
1。jar包
& 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文件
文件结构:
公开课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注解使用