zoukankan      html  css  js  c++  java
  • JSR303

    JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator。
    此实现与Hibernate ORM 没有任何关系。JSR 303 用于对Java Bean 中的字段的值进行验证。

    Spring MVC 3.x之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。

    JSR 303内置的约束规则:

    @AssertTrue / @AssertFalse

    • 验证适用字段:boolean
    • 注解说明:验证值是否为true / false
    • 属性说明:-


    @DecimalMax / @DecimalMin

    • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
    • 注解说明:验证值是否小于或者等于指定的小数值,要注意小数存在精度问题
    • 属性说明:公共


    @Digits

    • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
    • 注解说明:验证值的数字构成是否合法
    • 属性说明:integer:指定整数部分的数字的位数。fraction: 指定小数部分的数字的位数。


    @Future / @Past

    • 验证适用字段:Date,Calendar
    • 注解说明:验证值是否在当前时间之后 / 之前
    • 属性说明:公共


    @Max / @Min

    • 验证适用字段:BigDecimal,BigInteger,String,byte,short,int,long
    • 注解说明:验证值是否小于或者等于指定的整数值
    • 属性说明:公共


    @NotNull / @Null

    • 验证适用字段:引用数据类型
    • 注解说明:验证值是否为非空 / 空
    • 属性说明:公共


    @Pattern

    • 验证适用字段:String
    • 注解说明:验证值是否配备正则表达式
    • 属性说明:regexp:正则表达式flags: 指定Pattern.Flag 的数组,表示正则表达式的相关选项。


    @Size

    • 验证适用字段:String,Collection,Map,数组
    • 注解说明:验证值是否满足长度要求
    • 属性说明:max:指定最大长度,min:指定最小长度。


    @Valid

    • 验证适用字段:引用类型
    • 注解说明:验证值是否需要递归验证
    • 属性说明:无

    使用Spring MVC 和 JSR-303的标注做表单提交的服务器端验证时,
    @Valid 标注的Command对象和BindingResult参数一定要紧挨着。要不然
    数据绑定错误直接抛异常,不会封装成一个BindingResult对象。

    1 @RequestMapping(value="/login", method=RequestMethod.POST)
    2 public String login(@Valid User user, BindingResult br, Map<String, Object> model) {
    3         if (br.hasErrors()) {
    4             return "login";
    5         }
    6         return "redirect:/salary/list.do";
    7     }
  • 相关阅读:
    30 个最好的jQuery表单插件
    Jquery Tools——不可错过的Jquery UI库(三)
    RedHat Linux AS5安装Oracle 10g 及常见问题
    老婆一直在你身旁,写给咱们的孩子
    又一篇关于中航信的文章
    Java自定义异常
    php文件复制升级
    PHP文件复制
    hdu 2428
    hdu 1358 KMP的应用
  • 原文地址:https://www.cnblogs.com/ubersexual/p/3029093.html
Copyright © 2011-2022 走看看