0

假设我有一个包含七个字段(字符串星期一,字符串星期二,..)的命令对象,我需要验证它以检查其中是否至少存在一个。

由于使用 Grails 1.3.7,我尝试将实例验证与扩展验证插件(非富域)一起使用,但我无法使其工作。基本上,它不能识别静态约束块内的非字段验证器。

静态约束 = { availabilitySelected(validator: { ... }) ...

我得到:

异常消息:没有这样的属性:availabilitySelected

还有其他聪明的方法吗?我只是不想为命令对象中的每个字段添加验证器。

谢谢

4

1 回答 1

0

您可以通过自定义验证器的二/三参数形式访问正在验证的对象。

myField(validator: { val, obj, errors -> if( obj.blah.empty && obj.blah.empty ) { errors.reject( ... ) } )

http://grails.org/doc/1.3.7/ref/Constraints/validator.html

于 2013-02-06T12:24:09.233 回答