(快速参考)

约束用法

365bet地区约束为365bet地区提供了声明性DSL,用于定义验证规则,方案生成和CRUD生成元数据。例如,考虑以下约束

 用户静态约束登录尺寸: 5..15, 空白: , 独特: 密码尺寸: 5..15, 空白: 电子邮件电子邮件: , 空白: : 18
    }
}

请参阅以下内容的用户指南主题:约束条件了解更多信息

全球约束

您可以在内部全局应用约束grails应用程序配置运行时groovy如下

grails gorm默认约束'*'(可为空: , 尺寸: 1..20)
}

通配符表示约束适用于所有属性。您还可以定义共享约束

grails gorm默认约束myShared可为空: , 尺寸: 1..20)
}

可以在您的课程中重复使用

 用户静态约束登录共享: "myShared")
    }
}

共享约束

365bet地区全局约束是在不同类之间共享约束的一种方法,例如在域类和命令对象之间共享约束。这不再是365bet地区引入新语法的唯一方式。约束允许您直接从另一个类重用约束的块

假设您有一个像这样的领域类

 用户 {
    名字密码哈希静态的约束firstName空白: , 可为空: 空白: , 可为空: 密码哈希空白: , 可为空: 
    }
}

然后,您想创建一个命令对象用户指令共享域类的某些属性和相应的约束,您可以使用进口于方法

 用户指令 {
    名字密码确认密码静态的约束importFrom用户密码空白: , 可为空: 确认密码空白: , 可为空: 
    }
}

这将从所有导入约束用户域类并将其应用于用户指令导入将忽略源类中的任何约束用户在导入类中没有相应属性的用户指令在上述情况下,只会将firstName和lastName约束导入到用户指令.

如果您想进一步控制导入哪些约束,请使用包括排除命名参数这两个参数都接受与源约束中的属性名称匹配的简单或正则表达式字符串列表,因此,例如,如果您只想导入lastName约束,则可以使用

静态约束importFrom User包括: [""]
    ...
}

或者如果您想要所有以Name结尾的约束

静态约束importFrom User包括: [/name/]
    ...
}

当然排除反向指定哪些约束应该被进口

快速参考

约束 描述

空白

验证字符串值不为空

登录空白否

信用卡

验证字符串值是有效的信用卡号

卡号信用卡真实

电子邮件

验证字符串值是有效的电子邮件地址

homeEmail电子邮件true

inList

验证值是否在约束值的范围或集合内

在清单中命名

火柴

验证String值是否匹配给定的正则表达式

最大值

验证值不超过给定的最大值

价格最高F

maxSize

儿童maxSize

验证值不低于给定的最小值

年龄最小新日期 价格最低F

最小尺寸

验证值的大小不低于给定的最小值

不相等

验证属性不等于指定值

不登录等于鲍勃

可为空

允许将属性设置为空值默认为.

范围

使用Groovy范围来确保属性的值出现在指定范围内

规模

设置为浮点数所需的标度,即小数点右边的位数

薪级表

尺寸

使用Groovy范围限制集合的大小或数字或字符串的长度

儿童大小

独特

登录唯一真实

网址

验证字符串值是有效的URL

主页网址为true

验证器

将自定义验证添加到字段

查看文件

脚手架

365bet地区某些约束对持久性没有影响,但可以自定义脚手架通常,在您的域中包含UI信息通常不是一个好习惯,但是如果您广泛使用365bet地区脚手架,这将是非常方便的

约束 描述

显示

布尔值,用于确定该属性是否显示在脚手架视图中默认属性显示

可编辑的

布尔值,确定是否可以从脚手架视图中编辑属性关联的表单字段以只读模式显示

格式

为接受诸如日期的类型指定一种显示格式,例如yyyy MM dd

密码

布尔值,指示是否应使用密码字段显示此属性仅适用于通常将与文本字段一起显示的字段

小部件

控制用于显示属性的窗口小部件,例如textarea将强制脚手架使用