我正在使用Grails进行我的第一次实验,并且正在寻找一种方法来使组合框表示的字段(例如一对一的域关联和具有窄范围约束的数字)是可选的,即应该是可选的是组合框中的空条目。
如何实现这一目标?我已尝试添加nullable:true
约束并列出optionals
静态属性中的字段,但都不会产生所需的结果。
这些是我的域类:
class Customer {
String name
}
class Book {
static optionals = ['year','loanedTo','loanedSince']
static constraints = {
title(blank:false)
author(blank:false)
year(range:1900..new Date().getAt(Calendar.YEAR), nullable:true)
loanedTo(nullable:true)
loanedSince(min:new Date())
}
String title;
String author;
Integer year;
Customer loanedTo;
Date loanedSince;
}
答案 0 :(得分:3)
我发现nullable:true
约束实际上确实具有预期效果 - 但是,它不会立即生效;你必须重新启动Grails才能看到它。
答案 1 :(得分:1)
如果您已经生成了脚手架代码,那么您还必须重新生成脚手架代码,以便存在该选项。
答案 2 :(得分:1)
我认为optionals
仍然不受支持:http://jira.codehaus.org/browse/GRAILS-472
答案 3 :(得分:0)
标签还有一个默认属性“未选中”值:noSelection。您可以像这样使用下拉默认为“---”而不是常规值: NOSELECTION = “$ {[ '': '---']}”
在控制器中,默认值显示为空字符串,如值的第一部分所指定。