gpt4 book ai didi

grails - 命令对象上的一个约束可以检查另一个约束的结果吗?

转载 作者:行者123 更新时间:2023-12-02 14:23:15 24 4
gpt4 key购买 nike

这是一个不起作用的简单示例,我想知道是否有办法验证 ab 的验证器 block 内如果它还没有被验证。

示例我认为它会如何工作:

static constraints =
{
a nullable: false
b validator: { val, obj ->
if(obj.errors.hasFieldError('a'))
{
return false
}
}
}

注意:在这种情况下 obj.errors.hasFieldError('a')即使 a 也返回 false一片空白。

最佳答案

我不认为检查约束的顺序有任何保证,而且它不太可能与 constraints 中指定的顺序有任何关系。堵塞。

但是,除了向您传递该字段的当前值的常见单参数自定义验证器和您显示的可以访问域类实例的双参数验证器之外,还有一个三参数变体(不幸的是,它没有'似乎没有在 Grails 引用文档中涵盖......)其中第三个参数是 Spring Errors实例。如果你定义一个三参数验证器,GORM 会忽略任何返回值,因为它假定你将直接使用 Errors例如,调用一个或多个不同的 rejectValue自己解决任何验证问题。

所以你可以从 constraints 中删除阻止您想要自己运行的任何标准验证并改用此方法。您可以找到更多关于使用 Errors 的信息。 the Spring docs 中的对象.

关于grails - 命令对象上的一个约束可以检查另一个约束的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702782/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com