19.SpringMVC:JSR303

0.1概述

        jsr303是java EE的一个规范,官方参考实现是Hibernate Validator。用于对java bean的属性进行验证。

0.2步骤

        1.加入hibernate-validator依赖

<!--hibernate-validator:使用jsr303-->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.2.4.Final</version>
</dependency>

        2.在bean的属性上加上对应的注解

@Null  被注释的元素必须为null
@NotNull  被注释的元素不能为null
@AssertTrue  该字段只能为true
@AssertFalse  该字段的值只能为false
@Min(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin("value")  被注释的元素必须是一个数字,验证小数的最小值
@DecimalMax("value")  被注释的元素必须是一个数字,验证小数的最大值
@Size(max,min)  查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等
@Digits(integer,fraction) 检查是否是一种数字的整数、分数,小数位数的数字
@Past  被注释的元素必须是一个过去的日期
@Future  被注释的元素必须是一个将来的日期
@Pattern(regexp = "[abc]") 被注释的元素必须符合指定的正则表达式。
@Email 被注释的元素必须是电子邮件地址
@Length(max=5,min=1,message="长度在1~5")    检查所属的字段的长度是否在min和max之间,只能用于字符串
@NotEmpty  被注释的字符串必须非空
@Range  被注释的元素必须在合适的范围内   
@CreditCardNumber 对信用卡号进行一个大致的验证
@NotBlank 不能为空,检查时会将空格忽略
@NotEmpty 不能为空,这里的空是指空字符串

        3.处理器方法

                @Valid和BindingResult配套使用,@Valid用在参数前,BindingResult作为校验结果绑定返回。

                hasErrors():判断是否校验通过。

                bindingResult.getFieldError().getDefaultMessage():获取自定义的message,如果没有设置,则返回默认值"javax.validation.constraints.XXX.message"。

@RequestMapping("xxx")
public Message saveEmp(@Valid xxx,BindingResult result){
    if (result.hasErrors()) {//判断是否出错
       throw new 自定义Exception("错误提示码",result.getFieldError().getDefaultMessage());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值