Spring 校验(validator,JSR-303)简单实现
2017-05-26 16:00
330 查看
Spring 校验(validator,JSR-303)简单实现
利用Spring MVC 与 hibernate的JSR-303规范结合实现后台校验(简单案例):什么是JSR-303规范
与Spring MVC结合
实体类添加验证注解
*控制器验证注解添加
Spring 校验validatorJSR-303简单实现
什么是JSR-303规范
与Spring MVC结合
实体类添加验证注解
控制器验证注解添加
什么是JSR-303规范
JSR 303是Java EE 6中的一项子规范,叫做Bean Validation,官方参考实现是hibernate Validator,此实现与Hibernate ORM没有任何关系。JSR 303用于对Java Bean中的字段的值进行验证。与Spring MVC结合
Spring-mvc.xml配置:<!--JSR-303--> <mvc:annotation-driven validator="validator"/> <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="basename" value="validatemessage"/> <property name="useCodeAsDefaultMessage" value="false"/> <property name="defaultEncoding" value="UTF-8"/> <property name="cacheSeconds" value="60"/> </bean> <bean id="webBindingInitializer" class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> <property name="conversionService"> <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean"></bean> </property> <property name="validator" ref="validator"/> </bean>
实体类添加验证注解
这里贴出部分代码,知道如何加注解即可:import com.lemontree.common.utils.AjaxResult; import com.lemontree.common.utils.StringUtil; import com.lemontree.common.utils.email.EmailUtils; import org.hibernate.validator.constraints.NotEmpty; import java.util.Date; public class User { /** * This field was generated by MyBatis Generator. * This field corresponds to the database column user.id * * @mbg.generated Thu Mar 16 13:27:38 CST 2017 */ private Integer id; /** * This field was generated by MyBatis Generator. * This field corresponds to the database column user.user_name * * @mbg.generated Thu Mar 16 13:27:38 CST 2017 */ @NotEmpty(message = "用户名不能为空") private String userName; /** * This field was generated by MyBatis Generator. * This field corresponds to the database column user.password * * @mbg.generated Thu Mar 16 13:27:38 CST 2017 */ @NotEmpty(message = "密码不能为空") private String password; }
控制器验证注解添加
将@Validated 注解跟在实体类前面,BindingResult紧跟其后:@RequestMapping(value = "/login.htm", method = RequestMethod.POST) public @ResponseBody AjaxResult login(@Validated User user, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response) { if (bindingResult.hasErrors()){ List<FieldError> errorses = bindingResult.getFieldErrors(); if (CollectionUtils.isNotEmpty(errorses)){ errorses.forEach(item->{ System.out.println(item.getDefaultMessage()); }); } } }
相关文章推荐
- spring集成JSR-303验证框架--Hibernate-validator实现
- 基于Spring MVC框架JSR-303的自定义注解Validator验证实现
- JSR-303 结合spring 校验
- 基于Spring MVC框架JSR-303的自定义注解Validator验证实现
- Spring_JSR 303标准的校验框架与SpringMVC际化、及校验字符串消息国际化
- SpringMVCJSR-303规范进行校验简单示例
- Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验 使用消息资源文件对消息国际化
- Spring--简单使用quartz实现定时作业
- Eclipse:Spring学习之一IOC简单实现
- 使用AOP,在spring中实现简单的性能测试
- Spring来实现一个Cache简单的解决方案(转)
- Spring--简单使用quartz实现定时作业
- struts spring hibernate整合简单实现
- hibernate+spring的一个简单分页实现
- Spring--简单使用quartz实现定时作业
- Quartz + Spring 简单实现定时任务
- [转]Spring--简单使用quartz实现定时作业
- AOP入门的简单例子(Spring AOP实现)
- struts spring hibernate整合简单实现
- hibernate+spring的一个简单分页实现