(快速参考)

约束

用途

允许定义声明性验证约束。在用户指南中参见 validation

示例

class Book {

    String title
    Author author

    static constraints = {
        title blank: false, size: 5..150
        author nullable: true
    }
}

说明

约束使用声明性约束 DSL 定义,如用户指南的 validation 部分中所述。经过评估后,可通过使用 验证 方法应用验证

def b = new Book()
assert !b.validate()

静态的 constrainedProperties 属性是 Map,其中 Map 中的键是属性名称,与键关联的值是 ConstrainedProperty 的实例

def constraintsMap = Book.constrainedProperties
for(entry in constraintsMap) {
    // propertyName is a String
    def propertyName = entry.key

    // constrainedProperty is a ConstrainedProperty
    def constrainedProperty = entry.value

    // ...
}