JSR303 数据校验

除了前端的js验证,服务端也可加入数据验证,springmvc中有两种方式可以验证输入

  • 利用spring自带的验证框架
  • 利用jsr303实现
public class User {
    @NotEmpty(message = "用户编码不能为空")
    private String userCode;

    @NotEmpty(message = "用户名称不能为空")
    private String userName;

    @NotNull(message = "密码不能为null")
    @Length(min = 6, max = 10, message = "用户密码长度为6-10")
    private String userPassword;

    @Past(message = "必须是一个过去的时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

}
注解 功能
@Notnull 验证对象是否不为mul,无法检査长度为0的字符串,于验证基本数据类型
@Null 验证对象是否为null
@AssertTrue 验证 Boolean对象是否为true
@AssertFalse 验证 Boolean对象是否为false
@Max(value) 验正Number和String对象是否小于等于指定的值
@Min(value) 验正Number和String对象是否大于等于指定的值
@DecimalMax(value) 被标注的值必须不大于约束中指定的最大值。这个约束的参数是一个通过 Big Decimal定义的最大值的字符串表示,小数存在精度
@DecimalMin(value) 被标注的值必须不小于约束中指定的最小值。这个约束的参数是一个通过 Big Decimal定义的最小值的字符串表示,小数存在精度
@Digits(integer, fraction) 验证字符串是否是符合指定格式的数字, Interger指定整数精度, fraction指定小数精度
@Size(min, max) 验证对象(Array、Collection、Map、 String)长度是否在给定的范围之内
@Past 验证Date和 Calendar对象是否在当前时间之前
@Future 验证Date和 Calendar对象是否在当前时间之后
@Pattern 验证 String对象是否符合正则表达式的规则
@NotBlank 检查约束字符串是不是Null,被Trim的长度是否大于0。只对字符串,且会去掉前后空格
@URL 验证是否是合法的url
@Email 验证是否是合法的邮件地址
@CreditCardNumber 验证是否是合法的信用卡号码
@Length(min, max) 验证字符串的长度必须在指定的范围内
@NotEmpty 检査元素是否为NULL或者 EMPTY。用于Array、Collection、Map、 String
@Range(min, max, message) 验证属性值必须在合适的范围内

这么多配置记不住可以到源码里看

JSR303 数据校验

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
247
粉丝
18
喜欢
217
收藏
62
排名:731
访问:9753
私信
所有博文
社区赞助商