1

我正在使用 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;
}
4

4 回答 4

3

我发现nullable:true约束实际上确实产生了预期的效果——但是,它不会立即生效;您必须重新启动 Grails 才能看到它。

于 2009-01-16T22:24:46.840 回答
1

如果您已经生成了脚手架代码,您还必须重新生成它,以便该选项存在。

于 2009-01-17T03:06:58.033 回答
1

我认为optionals仍然不支持:http: //jira.codehaus.org/browse/GRAILS-472

于 2009-04-25T15:23:47.930 回答
0

该标签还有一个默认的“未选择”值属性:noSelection。您可以像这样使用它来将下拉菜单默认为“---”而不是常规值: noSelection="${['':'---']}"

在控制器中,默认值显示为空字符串,如值的第一部分中所指定。

于 2009-02-05T13:52:35.263 回答