我尝试验证命令对象上的嵌套域类实例。
具有以下命令对象
package demo
import grails.databinding.BindingFormat
class SaveEventCommand {
@BindingFormat('yyyy-MM-dd')
Date date
Refreshment refreshment
static constraints = {
date validator: { date -> date > new Date() + 3}
refreshment nullable: true
}
}
并且具有以下具有自己的约束的域类
package demo
class Refreshment {
String food
String drink
Integer quantity
static constraints = {
food inList: ['food1', 'food2', 'food3']
drink nullable: true, inList: ['drink1', 'drink2', 'drink3']
quantity: min: 1
}
}
当刷新不可为空时,我需要命令对象验证日期属性并检查刷新实例中的相应限制
现在尝试在控制器中使用此代码:
def save(SaveEventCommand command) {
if (command.hasErrors() || !command.refreshment.validate()) {
respond ([errors: command.errors], view: 'create')
return
}
// Store logic goes here
}
在这里,!command.refreshment.validate()
我尝试验证刷新实例,但我得到的结果是没有错误,即使传递不正确的数据也是如此。
感谢您的任何指导,并感谢您的时间