idea+maven+SpringMVC注解开发validation校验

前言:

在一个运行的web系统中,一定少不了校验的环节,所以自然而然衍生出了很多校验框架,这里我就来简单介绍一种Bean validation 的校验框架,是基于Hibernate的。

我的demo栗子已经放到git上了:网上的都是讲解,不如一个实实在在的栗子来的直接

https://github.com/jjc123/Validation_Demo

参考:
https://www.jianshu.com/p/452cb1a9eefc

注意这篇博客我只介绍我遇到的几个坑:
主要有三大坑:

第一坑:

validation校验框架需要的jar包:

hibernate-validator.jar
jboss-logging.jar
validation-api.jar

这里我是用maven的,所以更简单:

 
  
    org.hibernate
    hibernate-validator
    5.2.4.Final
  

这里为什么坑呢?
因为系统报错,
我其实参考了网上很多的maven配置,,还有其他的 我也都试过了
方向错了,以为是maven缺少依赖包导致系统出错,后来找了个方法,查看到了hibernate-validator的依赖包已经包含了jboss-logging.jar和validation-api.jar这两个jar包,所以不需要额外导入了。

idea如何查看maven的依赖树:

https://blog.csdn.net/qq_38409944/article/details/82812272


第二坑:

引用外部资源文件:
idea+maven+SpringMVC注解开发validation校验_第1张图片
idea+maven+SpringMVC注解开发validation校验_第2张图片
两者有啥区别看到没?
没错前面那张图显示红色,我就以为是错误的,后面那张图,我打入val的时候就跳出整个名称我就以为是对的。
结果却是当我想显示错误信息的时候,它显示的是这样的:

{name.length.error}
而不是name.length.error=名字范围是1到3的范围内
后面的错误信息。

就这个错误,我真的是找了半天,要死了要死了。红色是真的很容易误导人。

注意:
在idea下开发有可能会报classpath:CustomValidationMessage不存在但是不影响开发,去掉classpath反而测试失败.


第三坑:

编码格式问题,出现乱码:


        
        
        
        
        
            
                UTF-8
            
        
        
        
    
注意资源文件编码格式不是fileEncodings而是defaultEncoding

注解:
idea+maven+SpringMVC注解开发validation校验_第3张图片
idea+maven+SpringMVC注解开发validation校验_第4张图片

你可能感兴趣的:(SSM框架)