SpringMVC使用JSR303对进行数据验证

JSR303是Java为Bean数据合法性校验所提供的标准框架。需要对属性标注一些注解如:@NotNull、@Max(value)、@Min(value)等。

地址:https://jcp.org/en/jsr/detail?id=303 选择适合自己的版本下载。

注意:虽然SpringMVC支持JSR303标准的校验框架,Spring的DataBinder进行数据绑定时,同时也会调用相应的方法来对数据进行校验,但是Spring没有提供对JSR303的支持。

hibernate-validator-4.3.2.Final-dist.zip     下载地址:http://hibernate.org/validator需要在项目中加入三个jar文件。

分别是

hibernate-validator-4.3.2.Final.jar

jboss-logging-3.1.0.CR2.ajr

validation-api-1.0.0.GA.jar

步骤:

1.在需要验证数据的Bean中,对属性添加相应的校验注解。

2.在Controller的处理方法中需要对需验证数据Bean 添加@valid注解。

另外,带注解@valid注解的参数后,要紧跟一个BindingResult或者是Error的类型的入参,否则Spring会在检验不通过时直接抛出异常。

public class User{

    @NotEmpty(message="用户姓名不能为空")
    public String name;
    @NotEmpty(message="用户电话号码不能为空")
    public String phone;
    @Min(10)
    public int age;

    //省略setter and getter method
}
//UserController

@RequestMapping(value="...",method=RequestMethod.POST)
public string addSave(@Valid User,BindingResult bindingResult,HttpSeesion session){
    //业务处理略.....
}

 

约束说明
@Null被注释的元素必须为null

@NotNull

被注释的元素必须不为null
@AssertTure被注释的元素必须为ture
@AssertFalse被注释的元素必须为false
@Min(value)被注释的元素必须是一个数字,并且值需要大于或等于value
@Max(value)被注释的元素必须是一个数字,并且值需要小于或等于value
@DecimalMin(value)被注释的元素必须是一个数字,并且值需要大于或等于value
@DecimalMax(value)被注释的元素必须是一个数字,并且值需要小于或等于value
@Size(max,min)被注释的元素需要在min到max的范围内
@Digits(integer,fraction)被注释的元素必须是一个数字,值必须在可接受范围
@Past被注释的元素要求是过去的日期
@Future被注释的元素要求是将来的日期
@Pattern(value)被注释的元素必须符合指定的正则表达式

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值