2

问题:

在我的 Web 应用程序中,我定义了一些约束。当约束属性不匹配时,我也可以将域类保存到“草稿”,我将约束设置nullabletrue. 在接下来的过程中,我可以修改对象,然后完成我想要进行完整验证的过程。这意味着我想添加nullable:false属性。

  • 问题 1:有没有办法在运行时扩展/更改约束?
  • 问题 2:当域类具有嵌套约束(例如其他域类引用)时,是否有办法遍历所有约束

谢谢

4

1 回答 1

3
  • 答案 1:是的,您可能可以。
  • 答案 2:是的。

所以例子:

    def user = new User()
    for(constraint in user.constraints) {
        constraint.value.setBlank(true)
        constraint.value.setNullable(false)
    }

对于嵌套字段:

    for(constraint in user.someNestedFields.constraints) {
       ....
    }

但我不建议这样做。它看起来像糟糕的架构。要保存您的域实体而不进行验证,只需调用save(false).

于 2013-11-14T08:54:09.283 回答