SpringMVC实现验证校验过程详解

  

这篇文章主要介绍了SpringMVC实现验证校验过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

<强>一、概述
  

  

对前端的校验大多数通过js在页面校验,这种方法比较简单,如果对安全性考虑,还要在后台校验。
  

  

springmvc使用jsr - 303 (javaEE6规范的一部分)校验规范,springmvc使用的是Hibernate Validator(和Hibernate的ORM)
  

  

<强>二,步骤
  

  

2.1引入Hibernate Validator
  

        & lt; !——https://mvnrepository.com/artifact/org.hibernate/hibernate-validator——比;   & lt; dependency>   & lt; groupId> org.hibernate   & lt; artifactId> hibernate-validator   & lt; version> 5.4.1.Final   & lt;/dependency>      

2.2配置
  

        & lt; !——校验器——比;   & lt; bean id=把橹て鳌?   类=皁rg.springframework.validation.beanvalidation.LocalValidatorFactoryBean”比;   & lt; !——校验器——比;   & lt;属性名=" providerClass " value=" https://www.yisu.com/zixun/org.hibernate.validator.HibernateValidator "/比;   & lt; !——指定校验使用的资源文件,如果不指定则默认使用类路径下的ValidationMessages。属性——比;   & lt;属性名=" validationMessageSource " ref=" messageSource "/比;   & lt;/bean>   & lt; !——校验错误信息配置文件——比;   & lt; bean id=" messageSource "   类=皁rg.springframework.context.support.ReloadableResourceBundleMessageSource”比;   & lt; !——资源文件名——比;   & lt;属性名=":"在   & lt; list>   & lt; value>类路径:CustomValidationMessages   & 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; !——自定义webBinder——比;   & lt; bean id=" customBinder "   类=皁rg.springframework.web.bind.support.ConfigurableWebBindingInitializer”比;   & lt; !——使用转换器进行参数转——比;   & lt;属性名=" conversionService " ref=" conversionService "/比;   & lt; !——配置验证器——比;   & lt;属性名="验证" ref="验证"/比;      & lt; !——propertyEditorRegistrars用于属性编辑器——比;   & lt; !——& lt;属性名=" propertyEditorRegistrars "比;& lt; list>& lt;裁判bean=" customPropertyEditor "/比;& lt;/list>& lt;/property>——比;   & lt;/bean>   & lt; !——注解适配器——比;   & lt;豆   类=皁rg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter”比;   & lt; !——在webBindingInitializer中注入自定义属性编辑器,自定义转换器——比;   & lt;属性名=" webBindingInitializer“ref=癱ustomBinder祝辞& lt;/property>   & lt; !——加入json数据的消息转换器MappingJacksonHttpMessageConverter依赖杰克逊的包——比;   & lt;属性名=癿essageconverter”比;   & lt; list>   & lt;豆   类=" org.springframework.http.converter.json.MappingJacksonHttpMessageConverter "祝辞& lt;/bean>   & lt;/list>   & lt;/property>      & lt;/bean>      

2.3创建CustomValidationMessages
  

  

在类路径下创建CustomValidationMessages。属性
  

        #校验提示信息:还需要在java中配置   items.name.length.error=商品长度请限制在外墙面之间items.createtime.is.notnull=请输入商品生产日期      

2.4校验规则
  

  

商品信息提交时校验,商品生产日期不能为空,商品名称长度在1到30字符之间

        公开课项目{   私人整数id;//商品名称的长度请限制在1到30个字符   @ (min=1, max=30,消息=" {items.name.length.error} ")   私人字符串名称;      私人浮动价格;      私人字符串图片;//请输入商品生产日期   @NotNull(消息=" {items.createtime.is.notnull}”)   私人createtime日期;      私人字符串细节;   }      

2.5捕获错误
  

  

需要修改控制器方法,在要校验的pojo前边加上@Validated,

SpringMVC实现验证校验过程详解