何时以及为什么应该在 grails 域 class 中为 nullable or/and 空白约束?
When and why should nullable or/and blank constraints in a grails domain class?
我对 grails 有点陌生,我想清楚地了解如何在 grails 域 class 中使用 'nullable' 和 'blank' 约束。
一个例子是;
static constraints = {
name nullable: true
}
static constraints = {
name blank: true
}
static constraints = {
name nullable: true, blank: true
}
这些分别是什么意思,如何最好地应用它们?
嗯,首先 你应该看看 docs。
第二个:
Nullable 已默认设置为 false。如果你希望某个值可以为空,那么你可以写 name nullable: true
。
Nullable 表示 创建对象时,该值可以留空(不输入任何内容)。
Blank - 当您创建对象参数输入的表单并且您将字段留空时,它将无错误地保存并接受空值。
长话短说 - 空白是表格接受空的。 Nullable 是为了让编码后的对象无值保存。
您还可以看到 .
默认情况下所有属性都是非空的,所以通常只有当你想允许空值时才使用nullable
约束,即nullable: true
.
此外,默认情况下 Grails 数据绑定会将空白字符串转换为 null,这实际上意味着默认应用 blank: false
(因为空白会转换为 null,并且禁止使用 null)。
有一些理论上的情况,其中有必要明确指定 blank: false
,例如如果 属性 在数据绑定后设置为空字符串。然而,这些在实践中不太可能发生,因此忽略一些边缘情况,假设默认应用 blank: false, nullable: false
是合理的。
我对 grails 有点陌生,我想清楚地了解如何在 grails 域 class 中使用 'nullable' 和 'blank' 约束。
一个例子是;
static constraints = { name nullable: true }
static constraints = { name blank: true }
static constraints = { name nullable: true, blank: true }
这些分别是什么意思,如何最好地应用它们?
嗯,首先 你应该看看 docs。
第二个:
Nullable 已默认设置为 false。如果你希望某个值可以为空,那么你可以写 name nullable: true
。
Nullable 表示 创建对象时,该值可以留空(不输入任何内容)。
Blank - 当您创建对象参数输入的表单并且您将字段留空时,它将无错误地保存并接受空值。
长话短说 - 空白是表格接受空的。 Nullable 是为了让编码后的对象无值保存。
您还可以看到
默认情况下所有属性都是非空的,所以通常只有当你想允许空值时才使用nullable
约束,即nullable: true
.
此外,默认情况下 Grails 数据绑定会将空白字符串转换为 null,这实际上意味着默认应用 blank: false
(因为空白会转换为 null,并且禁止使用 null)。
有一些理论上的情况,其中有必要明确指定 blank: false
,例如如果 属性 在数据绑定后设置为空字符串。然而,这些在实践中不太可能发生,因此忽略一些边缘情况,假设默认应用 blank: false, nullable: false
是合理的。