09 March, 2011

groovy on grails / static constraints

q/问:Grails中的约束是什么意思?请给出3个示例。

a/答:跟数据库中的约束类似,在保存前,Grails会先使用它来验证Domain Class的各个属性,若不能通过,则无法保存或修改,例如:
class Book {
    String title
    String author
    static constraints = {  //some constrains
        title(blank: false) //cannot be blank 不能为空
                            //       or empty
        author(blank: false)//cannot be blank 不能为空
    }
}

more更多:

1.会影响到数据库模式的约束

nullable:验证是否可为null
inList:限制值在一个范围或集合内
maxSize(minSize):限制属性值大小,对应列大小
max(min):设定最大(小)值,属性必须是java.lang.Comparable
range:限定值范围,属性必须是java.lang.Comparable
scale:限定小数位
size:限定属性值大小范围
unique:限定唯一

2.其他的约束则有:

blank:验证字符串是否为empty
creditCard:验证字符串是否为信用卡
email:验证字符串是否为邮件地址
url:验证字符串是否是URL
matches:匹配正则表达式
notEqual:不等于

No comments:

Post a Comment