调查该问题。经过我找到了耶beanName获得通过的模板,我不需要在beanName前使用$ ...
但是,仍然当我使用hasErrors(豆:beanName,场:“用户名”,“错误”),这是行不通的。
但是,我能做到这一点
<bean:inputTemplate>
<div class="prop">${label}
<span class="value">${field}
</span>
<g:if test="${errors}"><div class="errors"> ${errors} </div></g:if>
</div>
</bean:inputTemplate>
即使这样,也没有工作,这取决于validate方法上域类 所以写这篇
if (! (userSecurity.validate() && userProfile.validate() && address.validate() && photo.validate())){
flash.message = ' Error registering user '
render(view:'index',model:[security:userSecurity,user:userProfile,address:address,photo:photo])
}else{
UserSecurity.withTransaction { status ->
userProfile.photos*.save()
address?.save()
userProfile?.save()
userSecurity.password = userSecurity.password.encodeAsPassword()
userSecurity.confirmPassword = userSecurity.confirmPassword.encodeAsPassword()
userSecurity?.save()
}
flash.message = 'No Errors Registering User'
render(view:'index',model:[security:userSecurity,user:userProfile,address:address,photo:photo])
}
因为,& &失败,第一个假结果,以及其他验证方法无法得到执行。
所以他们改变这种
if (! (userSecurity.validate() & userProfile.validate() & address.validate() & photo.validate())){
flash.message = ' Error registering user '
render(view:'index',model:[security:userSecurity,user:userProfile,address:address,photo:photo])
}else{ ... }
每豆得到确认,以及各个领域的错误得到正确呈现。