• 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     }
  • 相关阅读:
    mac下用xattr命令来删除文件的扩展属性
    使用vue.js实现checkbox的全选和多个的删除功能
    正则表达式匹配任意字符(包括换行符)的写法
    jQuery Mobile动态刷新页面样式
    jquery mobile各类标签的refresh
    jQuery .attr()和.removeAttr()方法操作元素属性示例
    jquery mobile各类组件刷新方法
    Apache PDFbox开发指南之PDF文档读取
    日期字符串解析--SimpleDateFormat严格限制日期转换setLenient(false)
    hdu5032 Always Cook Mushroom
  • 原文地址:https://www.cnblogs.com/ubersexual/p/3029093.html
Copyright © 2020-2023  润新知