怎么在springMVC中引入验证

  介绍

怎么在springMVC中引入验证?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<>强基本配置

pom引入maven依赖

& lt; !——, validation  begin ——比;   & lt; dependency>   & lt;才能groupId> javax.validation</groupId>   & lt;才能artifactId> validation-api</artifactId>   & lt;才能version> 1.1.0.Final</version>   & lt;/dependency>   & lt; dependency>   & lt;才能groupId> org.hibernate</groupId>   & lt;才能artifactId> hibernate-validator</artifactId>   & lt;才能version> 5.4.0.Final</version>   & lt;/dependency>   & lt; !——, validation 最终获得——在

<>强增加验证配置

在spring-mvc-servlet。xml中增加如下配置:

& lt; mvc: annotation-driven 验证器=皏alidator"比;      & lt; bean  id=皏alidator",类=皁rg.springframework.validation.beanvalidation.LocalValidatorFactoryBean"比;   & lt;才能property  name=皃roviderClass",价值=https://www.yisu.com/zixun/" org.hibernate.validator.HibernateValidator "/>   <属性名=" validationMessageSource“ref=" messageSource "/>   //messageSource为i18n资源管理bean,见applicationContext。xml配置

<>强自定义exceptionHandler

个性化处理验证错误信息,返回给调用方的信息更加友好,在applicationContext。xml中增加如下配置:

& lt; !——,加载i18n消息资源文件,——比;   & lt; bean  id=癿essageSource",类=皁rg.springframework.context.support.ResourceBundleMessageSource"比;   & lt;才能property  name=癰asenames"比;   ,,,& lt; list>   ,,,,,& lt; value> errormsg   ,,,,,& lt; value> validation_error   ,,,& lt;/list>   & lt;才能/property>   & lt;/bean>      & lt; bean  id=皏alidationExceptionResolver",类=癱om . * .exception.ValidationExceptionResovler"/祝辞

在项目类路径上增加:validation_error_zh_CN。属性资源文件:

#,error  msg  for  input 验证   #常见   field.can.not.be.null={领域}不能为空   field.can.not.be.empty={领域}不能为空或者空字符串   field.must.be.greater.than.min={领域}不能小于{value}   field.must.be.letter.than.max={领域}不能大于{value}

ValidationExceptionResovler实现:

ValidationExceptionResovler。java

@Slf4j   public  class  ValidationExceptionResovler  extends  AbstractHandlerExceptionResolver  {   public 才能;ValidationExceptionResovler (), {   ,,,//,设置,在DefaultHandlerExceptionResolver之前执行   ,,,this.setOrder (0);   ,,}   ,/* *   ,,*,Handle 从而case  where  an  argument  annotated  with  {@code  @Valid}, such    ,,*,an  {@link }, {@link },趁机argument  fails 验证。   ,,*,& lt; p>   ,,*,自定义ValidationException 异常处理器   ,,*,获取到具体的validation 错误信息,并组装CommonResponse,返回给调用方。   ,,*   ,,*,@param  request  current  HTTP 请求   ,,*,@param  response  current  HTTP 响应   ,,*,@param  handler 从而executed 处理程序   ,,*,@return  an  empty  ModelAndView  indicating 从而exception  was 处理   ,,*,@throws  IOException  potentially  thrown 得到response.sendError ()   ,,*/@ResponseBody才能   protected 才能;ModelAndView  handleMethodArgumentNotValidException (BindingResult  bindingResult,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,HttpServletRequest 请求,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,HttpServletResponse 反应,   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Object 处理程序)   ,,,,,throws  IOException  {      ,,,List, errors =, bindingResult.getAllErrors ();   ,,,StringBuffer  errmsgBF =, new  StringBuffer ();   ,,,for  (ObjectError  error :错误),{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在springMVC中引入验证