gpt4 book ai didi

validation - Grails validate() 覆盖拒绝

转载 作者:行者123 更新时间:2023-12-01 00:32:32 27 4
gpt4 key购买 nike

I'm aware that it's a bug ,但是在域类上调用 validate() 会覆盖之前放入的任何拒绝:

def save = {
def assignment = new Assignment(params)

assignment.errors.reject("assignment.error")

// Save
if (assignment.validate()) {
//rejected error is gone
assignment.save()
redirect action: "list"
}
else {
//render errors
render view: "create", model: [instance: assignment]
}
}

那么,在这个问题得到解决之前(它从 grails 1.0 开始就存在,现在几乎是 2.0),是否有任何聪明的解决方法来保留拒绝并立即使用 if validate() then save() 范例?

最佳答案

这不是错误,这是设计使然。通过调用 validate(),您要求验证过程重新开始。如果您希望将手动 reject() 调用包含在错误中,请将它们放在对 validate() 的调用之后。

关于validation - Grails validate() 覆盖拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541760/

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