Grails:将对象传递到视图时清除错误

Grails:将对象传递到视图时清除错误,grails,Grails,我正在检查我的用户是否在控制器中输入了两次相同的密码: if(params.password1 != "" || params.password2 != "") { // change password if(params.password1 != params.password2) { user.errors.rejectValue('password', 'noMatch') } user.password = params.password

我正在检查我的用户是否在控制器中输入了两次相同的密码:

if(params.password1 != "" || params.password2 != "") {
    // change password
    if(params.password1 != params.password2) {
        user.errors.rejectValue('password', 'noMatch')
    }

    user.password = params.password1
}

if (user.errors.errorCount > 0 || !user.save()) {

    println user.errors.errorCount
    render(view: "edituser", model: [userInstance: user])
    return
}
我在控制台中获得了正确的用户错误计数,这样我的if子句就可以工作,Grails就不会使用双管道重新验证对象

当我查看我的普惠制时,我得到以下信息:

grails.validation.ValidationErrors:0个错误


它像Grails一样清除所有错误或使用其他对象。这很奇怪,因为我的域类中的自定义验证器工作正常…

您没有在域类中验证的具体原因是什么?验证规则应位于域类和/或命令对象中。然后,您只需测试instance.hasErrors,而不必在控制器操作中重复验证逻辑。如果您按照建议在域中使用验证,则只需使用user.validatean测试错误,并且在呈现gsp之前打印的错误计数是多少?