I'm aware that it's a bug,但調用驗證()上的域類會覆蓋放在之前任何次品:Grails的驗證()覆蓋拒絕
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()和save()範例?
問題在於validate()會拒絕在代碼中執行控制器時會通過服務運行代碼的字段,因此如果該代碼返回某些錯誤,則需要拒絕。如果我事先調用validate(),那麼即使代碼成功,這些錯誤仍將保留在那裏。 – Art