grails域类中的可空约束或/和空白约束应该在何时以及为什么?

grails域类中的可空约束或/和空白约束应该在何时以及为什么?,grails,constraints,grails-domain-class,Grails,Constraints,Grails Domain Class,我对grails有点陌生,我想清楚地了解如何在grails域类中使用“nullable”和“blank”约束 例如: 静态约束={ 名称可为空:true } 静态约束={ 名称空白:true } 静态约束={ 名称可为空:true,空白:true } 这些都意味着什么?如何最好地应用它们?好吧,首先,你应该研究一下 第二: 默认情况下,Nullable已设置为false。如果希望某个值可以为null,那么可以编写name nullable:true 可空表示在创建对象时,该值可以保留为空(不输入

我对grails有点陌生,我想清楚地了解如何在grails域类中使用“nullable”和“blank”约束

例如:

静态约束={ 名称可为空:true }

静态约束={ 名称空白:true }

静态约束={ 名称可为空:true,空白:true }


这些都意味着什么?如何最好地应用它们?

好吧,首先,你应该研究一下
第二:
默认情况下,Nullable已设置为false。如果希望某个值可以为null,那么可以编写
name nullable:true

可空表示在创建对象时,该值可以保留为空(不输入任何内容)。 空白-当您将为对象参数输入创建表单,并将字段留空时,它将无错误保存并接受空值
长话短说-空白是指表格接受为空。Nullable用于保存没有值的编码对象

您也可以看到。

好吧,首先,您应该查看
第二:
默认情况下,Nullable已设置为false。如果希望某个值可以为null,那么可以编写
name nullable:true

可空表示在创建对象时,该值可以保留为空(不输入任何内容)。 空白-当您将为对象参数输入创建表单,并将字段留空时,它将无错误保存并接受空值
长话短说-空白是指表格接受为空。Nullable用于保存没有值的编码对象

您还可以看到。

默认情况下,所有属性都不是null,因此通常只有在希望允许null时才使用
nullable
约束,即
nullable:true

此外,默认情况下,Grails数据绑定会将空白字符串转换为null,这实际上意味着默认情况下应用
blank:false
(因为空白被转换为null,并且禁止使用null)


在某些理论情况下,有必要明确指定
blank:false
,例如,如果在数据绑定后将属性设置为空白字符串。但是,这些在实践中不太可能发生,因此忽略某些边缘情况,可以合理地假设默认情况下应用了
blank:false,nullable:false

所有属性在默认情况下都不是null,因此通常使用
nullable
约束的唯一时间是您希望允许null时,即
可为空:true

此外,默认情况下,Grails数据绑定会将空白字符串转换为null,这实际上意味着默认情况下应用
blank:false
(因为空白被转换为null,并且禁止使用null)


在某些理论情况下,有必要明确指定
blank:false
,例如,如果在数据绑定后将属性设置为空白字符串。但是,这些在实践中不太可能发生,因此忽略一些边缘情况,可以合理地假设
blank:false,nullable:默认情况下应用false

nullable:将其视为甚至可能不会作为要捕获的输入字段出现在网页上的字段。因此,您有字符串walletSize,但在捕获表单输入时不显示它,walletSize甚至没有注册为正在保存的字段,因此您可以保存新的Person(名称:name)。save()但是在另一个表单上,您可能有它,用户必须输入一些内容,因为如果您希望他们在页面上留空,那么:留空当您实际呈现一些内容时,比如说字符串名称,表单页面上的名称字段将存在,但当用户实际可以留空时,可能会重复留空:将其视为字段它甚至可能不会作为要捕获的输入字段出现在网页上。因此,您有字符串walletSize,但在捕获表单输入时不显示它,walletSize甚至没有注册为要保存的字段,因此您可以保存新的Person(名称:name)。save()但是在另一个表单上,您可能有它,用户必须输入一些内容,因为如果您希望他们在页面上留空,那么:留空当您实际呈现一些内容时,比如说字符串名称,表单页面上的名称字段将存在,但当用户实际可以留空时,可能会重复