【发布时间】:2013-12-01 17:30:38
【问题描述】:
我使用的是 Grails 2.3.3 版和 groovy 2.1.8 版。
我正在使用在线教程来帮助学习 Grails Web 开发,并且我创建了一个具有以下约束的域类
package racetrack
class Race {
static constraints = {
name(blank:false, maxSize:50)
city(blank:false)
state(inList:["GA", "NC", "SC", "VA"])
startDate()
distance(min: 0.0)
cost(min: new BigDecimal(0.0), max: new BigDecimal(100.0))
maxRunners(min:0, max:100000)
}
String name
Date startDate
String city
String state
BigDecimal distance
BigDecimal cost
Integer maxRunners
}
我正在使用脚手架,因此我拥有完整的 CRUD 功能。问题是,当我去创建一个新的 Race 时,该应用程序允许我在距离和成本字段中输入像“-1”这样的值,在成本字段中输入像“200”这样的值。我注意到整数字段 maxRunners 工作正常,因为如果我尝试输入 -1 maxRunners,它会显示一条警告消息。我将成本字段更改为整数类型,然后约束开始起作用。
为什么会这样?我将教程中的代码复制并粘贴到我的文本文件中,并且约束不适用于 BigDecimal 类型字段。
【问题讨论】:
标签: grails constraints