- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SpringMVC参数校验
spring mvc 采用 jsr303 bean validation 校验框架
这是一个规范,定义了一些元素来进行bean的数据校验,比如 你的model有一个 user.java ,里面有一个email,当用户注册时候要验证email是否合法。 一般做法是js前端校验,但是不安全,作为完整安全解决方案,我们必须后端校验。
1 public String save(@ModelAttribute(house) @Valid House entity, BindingResult result,HttpServletRequest request, Model model) BindingResult 必须放在model,request前面
2 validation-api- 1.0.0.GA.jar是JDK的接口;hibernate-validator-4.2.0.Final.jar是对上述接口的实现。 hibernate-validator-4.2.0.Final可以,但是hibernate-validator-4.3.0.Final报错
验证注解
验证的数据类型
说明
@AssertFalse
Boolean,boolean
验证注解的元素值是false
@AssertTrue
Boolean,boolean
验证注解的元素值是true
@NotNull
任意类型
验证注解的元素值不是null
@Null
任意类型
验证注解的元素值是null
@Min(value=值)
BigDecimal,BigInteger, byte,
short, int, long,等任何Number或CharSequence(存储的是数字)子类型
验证注解的元素值大于等于@Min指定的value值
@Max(value=值)
和@Min要求一样
验证注解的元素值小于等于@Max指定的value值
@DecimalMin(value=值)
和@Min要求一样
验证注解的元素值大于等于@ DecimalMin指定的value值
@DecimalMax(value=值)
和@Min要求一样
验证注解的元素值小于等于@ DecimalMax指定的value值
@Digits(integer=整数位数, fraction=小数位数)
和@Min要求一样
验证注解的元素值的整数位数和小数位数上限
@Size(min=下限, max=上限)
字符串、Collection、Map、数组等
验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小
@Past
java.util.Date,
java.util.Calendar;
Joda Time类库的日期类型
验证注解的元素值(日期类型)比当前时间早
@Future
与@Past要求一样
验证注解的元素值(日期类型)比当前时间晚
@NotBlank
CharSequence子类型
验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的首位空格
@Length(min=下限, max=上限)
CharSequence子类型
验证注解的元素值长度在min和max区间内
@NotEmpty
CharSequence子类型、Collection、Map、数组
验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@Range(min=最小值, max=最大值)
BigDecimal,BigInteger,CharSequence, byte, short, int, long等原子类型和包装类型
验证注解的元素值在最小值和最大值之间
@Email(regexp=正则表达式,
flag=标志的模式)
CharSequence子类型(如String)
验证注解的元素值是Email,也可以通过regexp和flag指定自定义的email格式
@Pattern(regexp=正则表达式,
flag=标志的模式)
String,任何CharSequence的子类型
验证注解的元素值与指定的正则表达式匹配
@Valid
任何非原子类型
指定递归验证关联的对象;
如用户对象中有个地址对象属性,如果想在验证用户对象时一起验证地址对象的话
表 1. Bean Validation 中内置的 constraint
Constraint详细信息
@Null被注释的元素必须为 null
@NotNull被注释的元素必须不为 null
@AssertTrue被注释的元素必须为 true
@AssertFalse被注释的元素必须为 false
@Min(value)被注
文档评论(0)