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 协议》,转载必须注明作者和本文链接
未填写
文章
247
粉丝
19
喜欢
219
收藏
63
排名:723
访问:9993
私信
所有博文
社区赞助商