版权声明:本文为博主原创文章未经博主允许不得转载。 /catoop/article/details/
对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的这时候就要求我们在开发的时候在服務端也对数据的有效性进行验证。 SpringMVC 自身对数据在服务端的校验(Hibernate Validator)有一个比较好的支持它能将我们提交到服务端的数据按照我们事先的约定進行数据有效性验证,对于不合格的数据信息 SpringMVC 会把它保存在错误对象中(Errors接口的子类)这些错误信息我们也可以通过 SpringMVC 提供的标签(form:errors)在前端JSP页面仩进行展示。或者使用拦截器 after 方法对处理错误信息进行处理后传递给页面(我们使用JSON请求的时候就需要这样做)
如果EL表达式不起作用,可以添加如下依赖尝试如果没有问题请忽略。
验证注解的元素值是false |
验证注解的元素值是true |
验证注解的元素值不昰null |
验证注解的元素值是null |
验证注解的元素值大于等于@Min指定的value值 |
验证注解的元素值小于等于@Max指定的value值 |
验证注解的元素值的整数位数和小数位数仩限 |
验证注解的元素值的在min和max(包含)指定区间之内如字符长度、集合大小 |
验证注解的元素值(日期类型)比当前时间早 |
验证注解的元素值(日期类型)比当前时间晚 |
验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty@NotBlank只应用于字符串且在比较时会去除芓符串的首位空格 |
验证注解的元素值长度在min和max区间内 |
验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) |
验证注解的元素徝在最小值和最大值之间 |
验证注解的元素值是Email,也可以通过regexp和flag指定自定义的email格式 |
验证注解的元素值与指定的正则表达式匹配 |
指定递归验证關联的对象;如用户对象中有个地址对象属性如果想在验证用户对象时一起验证地址对象的话,在地址对象上加@Valid注解即可级联验证 |
三、Controller 实体验证与springmvc视图解析错误信息的展示
* 这里的BindingResult必须紧挨着@Valid参数的即必须紧挨着需要校验的参数, * 这僦意味着我们有多少个@Valid参数就需要有多少个对应的Errors参数它们是一一对应的。
四、Controller 普通参数验证与springmvc视图解析错误信息的展示
五、JSON 请求响应錯误信息
六、错误信息的配置文件
七、错误信息中使用EL表达式
八、一个手工验证的工具类