Groovy Grails 字段校验_属性校验选项_验证约束参数列表

groovy Grails 框架的领域类验证(约束属性),
也就是domain类的constraints闭包,用作各个字段的验证校验,
Grails共提供了16个输入校验和一个自定义校验。


blank...........空

creditCard......信用卡格式

email...........email格式

inList..........指定范围

matches.........正则限制

max.............最大值(实现Comparable接口的类型)

maxSize.........集合的最大值

min.............最小值(实现Comparable接口的类型)

minSize.........集合的最小值

notEqual........排除(不能与设定的值相同)

nullable........是否为空

range...........限定范围

scale...........小数位数

size............限定集合或字符串长度

unique..........唯一性

url.............URL格式

validator.......自定义验证

1. grails 约束属性 blank
    作用:定义一个字段是否能够为空
    用法:

    class User {  
        static constraints = {  
            name(blank:false)  
            email(blank: true)  
            age(blank: false)  
    }  
        String name  
        String email  
        Integer age  
    }   

2. grails 约束属性creditCard
    作用:验证是否为有效的信用卡账号
    用法:

    class User {  
        static constraints = {  
            cardNumber(creditCard: true)  
        }  
        String cardNumber  
    }  

3. grails 约束属性email
    作用:验证是否为有效的邮箱帐号
    用法:

    class User {  
        static constraints = {  
            email(email: true)  
        }  
        String email  
    }  


4.
grails 约束属性inList
    作用:验证是否是指定的数组中的选项,在页面的显示为Drop-down box,选项为inList中指定的value
    用法:
    class User { 
        static constraints = { 
            list(inList: ['aaa','bbb','ccc']) 
        } 
        String list 
    } 

5.
grails 约束属性 matches
    作用:验证一个字符串是否符合某个正则表达式
    用法:

    class User {  
        static constraints = {  
            name(matches:"[a-zA-Z]+")  
        }  
        String name  
    }  

6.grails 约束属性 max
    作用:设定一个实现了java.lang.Comparable接口的类行做为自己的最大值类型,同时,该类型必须也是自身的类型
    用法:

    class User {  
        static constraints = {  
            age(max:100)  
            date(max:new Date())  
        }  
        Integer age  
        Date date  
    }  

7.grails 约束属性 maxSize
    作用:设置一个集合或者字段的最大值
    用法:

    class User {  
        static constraints = {  
            people(maxSize:100)  
        }  
        Integer people  
    }  

8.grails 约束属性 min
    作用:功能和max相反,设置和max一样
    用法:

    class User {  
        static constraints = {  
            age(min:18)  
            date(min:new Date())  
        }  
        Integer age  
        Date date  
    }  

9. grails 约束属性minSize
    作用:功能和maxSize相反,设置和maxSize一样
    用法:

    class User {  
        static constraints = {  
            people(minSize:10)  
        }  
        Integer people  
    }  

10. grails 约束属性notEqual
    作用:验证输入的用户名不能和指定的用户名一致
    用法:

    class User {  
        static constraints = {  
            name(notEqual: "zhangsan")  
        }  
        String name  
    }  

11. grails 约束属性nullable
    作用: 验证是否可以为null,注意空和null的区别
    用法:

    class User {  
        static constraints = {  
            name(nullable: false)  
        }  
        String name  
    }  

12. grails 约束属性range
    作用:设置一个字段的范围
    用法:

    class User {  
        static constraints = {  
            age(range:18..100)  
        }  
        Integer age  
    }  

13. grails 约束属性scale
    作用:
    版本0.4才开始出现的约束属性。
    根据设定的scale数值,自动把浮点型数字小数点后的位数调整为设定的值。
    适用于以下数值类型:java.lang.Float, Java.lang.Double, Java.math.BigDecimal (及其子类)。
    用法:

    class User {  
        static constraints = {  
            price(scale: 2)  
        }  
        Double price  
    }  

14. grails 约束属性size
    作用:
    规定一个数值,集合或者字符串长度的大小。
    在版本0.5中不被建议用在数字类型的属性上,改用range。
    如果blank设为true或者nullable设为true,不能使用这个约束属性。
    用法:

    class User {  
        static constraints = {  
            name(size:5..10)  
        }  
        String name  
    }  

15. grails 约束属性unique
    作用:
    设置属性是否必须为唯一
    用法:

    class User {  
        static constraints = {  
            name(unique: true)  
        }  
        String name  
    }  

16. grails 约束属性url

    作用:如果属性为一个URL地址,则设为true。
    用法:

    class User {  
        static constraints = {  
            url(url: true)  
        }  
        String url  
    }  

17.grails 约束属性 validator
    作用:在闭包里设定自定义的验证
    用法:

    class User {  
        static constraints = {  
            repassword(validator: {val, obj ->  
                if (obj.password != val) {  
                    return "Repassword is not right"  
                }
            })  
        }  
        String password  
        String repassword  
    }     

生成的脚手架会自动进行验证 验证信息的内容,grails的字段值校验非常简洁方便。

来源://作者:/更新时间:2013-11-19
相关文章
评论:
验证码:
匿名评论: