我正在使用Grails Webflow插件。以下是我正在使用的域对象:
class Foo implements Serializable {
String fooProp1,
fooProp2
static constraints = {
fooProp2 nullable: false
}
}
class Bar implements Serializable {
Foo fooObject
static constraints = {
fooObject nullable: false
}
}
在Webflow中,我需要确保fooObject.fooProp1不为null。如果是,我想抛出一个错误并强制用户为它提供一个值。我尝试使用validate()来执行此操作(在Bar和Foo对象上),但由于fooProp1具有nullable:true属性,因此它会通过验证。有什么想法吗?
答案 0 :(得分:10)
您可以通过调整以下代码在Web Flow中执行此操作:
if(fooObject.fooProp1 == null) {
fooObject.errors.rejectValue('fooProp1', 'nullable')
}
该方法的第二个参数'nullable'
可能因您的情况而异。您只需将其设置为消息代码(来自message.properties)以显示所需的错误消息。
查看here了解更多使用reject()
和rejectValue()
的方式。