springmvc 集成和使用 hibernate-validator
2017-07-21 00:00
489 查看
如果有前端做检验一般不需要后端校验的,但是一下 场景下还是需要的 后端校验的。、
所以集成了下。 如果 想是 spring-boot 那么 它已经自带 校验了,,而且 校验 使用的就是 hibernate-validator 校验的,可以看看 spring-boot 校验包。
那么这里说的是 spring MVC 的 集成。
百度了一通,和自己 实践,需要导入 校验包即可,,不需要其他依赖包了。
用法,例子:
百度了一通, 基本的 初级用法是这样的。
可是有一个问题就是,, 每次校验我们都需要 写 和判断是否 校验通过了,好烦啊比如:
其实是可以把校验不通过 当做一个 异常,然后 拦截异常通过 处理的。例子:
拦截 校验异常 : 代码
参考即可了。。
下面是 xml 配置 校验器的,百度的都是这样差不多了:
以上OK 了。。
参考地址: http://blog.csdn.net/do_bset_yourself/article/details/51314199
以及地址: http://www.cnblogs.com/leechenxiang/p/5490930.html
所以集成了下。 如果 想是 spring-boot 那么 它已经自带 校验了,,而且 校验 使用的就是 hibernate-validator 校验的,可以看看 spring-boot 校验包。
那么这里说的是 spring MVC 的 集成。
百度了一通,和自己 实践,需要导入 校验包即可,,不需要其他依赖包了。
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final</version> </dependency>
用法,例子:
@GetMapping("/girl") @ResponseBody public Girl girlSubmit(@Valid Girl girl , BindingResult bindingResult ) { // @Valid 校验 该 girl 类,,类里面 有对应的校验 注解的 // bindingResult 校验后的结果 if (bindingResult.hasErrors()) { // 有 校验错误,,打印出来 信息 System.out.println(bindingResult.getFieldError().getDefaultMessage()); return null; } girl.setAge(girl.getAge()); return girl; }
百度了一通, 基本的 初级用法是这样的。
可是有一个问题就是,, 每次校验我们都需要 写 和判断是否 校验通过了,好烦啊比如:
if (bindingResult.hasErrors()) { 。。。。校验不通过处理逻辑 }
其实是可以把校验不通过 当做一个 异常,然后 拦截异常通过 处理的。例子:
@RequestMapping("/test") @ResponseBody public String test(@Valid TestModel tm ) { /*if (result.hasErrors()) { // @Valid 校验 该 girl 类,,类里面 有对应的校验 注解的 // bindingResult 校验后的结果 // 有 校验错误,,打印出来 信息 System.out.println(result.getFieldError().getDefaultMessage()); return result.getFieldError().getDefaultMessage(); }*/ return "test"+tm.getAge(); }
拦截 校验异常 : 代码
//校验异常 @ExceptionHandler(value=BindException.class) @ResponseBody public String handlevalid(BindException e,BindingResult bindingResult) { System.out.println("###"+bindingResult.getFieldError().getDefaultMessage()); System.out.println(e); System.out.println("11==="+e.getCause()); System.out.println("22==="+e.getMessage());// 记录异常 return e.getMessage(); }
参考即可了。。
下面是 xml 配置 校验器的,百度的都是这样差不多了:
<!-- 注册验证器 --> <mvc:annotation-driven validator="validator" /> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator" /> <!-- 这里配置将使用上面国际化配置的messageSource <property name="validationMessageSource" ref="messageSource" /> --> </bean> <!-- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basenames"> <list> <value>classpath:resource/ValidationMessages</value> </list> </property> <property name="useCodeAsDefaultMessage" value="true" /> </bean> -->
以上OK 了。。
参考地址: http://blog.csdn.net/do_bset_yourself/article/details/51314199
以及地址: http://www.cnblogs.com/leechenxiang/p/5490930.html
相关文章推荐
- springmvc 使用 hibernate-validator时失效
- springmvc使用hibernate-validator校验框架实现后端校验
- springMVC校验之hibernate validator校验器的使用
- shiro在springmvc,hibernate,ehcache里面的集成使用
- SpringMVC集成Hibernate Validator进行参数校验
- SpringMvc (四) 集成 spring/springMvc/hibernateValidator
- SpringMVC 4.0集成Hibernate 4如何使用sessionFactory.getCurrentSession()方法
- SpringMVC集成Hibernate Validator进行注解式的参数校验——让代码更少、更加专注于业务逻辑
- SSM整合时,使用校验器hibernate-validator时报错。
- SpringMVC集成Hibernate返回json出现异常
- 在springmvc中使用hibernate-validate
- DWR高级主题之DWR与spring集成(不使用springMVC,不使用注解的实例)
- axis和cxf集成Springmvc的使用
- shiro在springmvc里面的集成使用【转】
- SpringMVC集成Swagger插件以及Swagger注解的简单使用
- 使用hibernate-validator进行验证时与tomcat产生的方法冲突问题【NoSuchMethodError】
- 【Shiro】shiro在springmvc里面的集成使用
- Hibernate-validator校验框架使用教程
- SpringMVC集成Hibernate分页查询到对象数组问题
- spring集成JSR-303验证框架--Hibernate-validator实现