我想使用<g:submitToRemote value="Submit" update="[success:'resultContent',failure:'errorPage']" action="submit" />
以在通过验证时更新resultContent
div,但在未通过验证时更新errorPage
div。
但是我不知道如何让grails知道验证没有通过。这是我使用的代码
在 Controller 中
def error=validate(params)
def user=User.get(1)
try{
if(error){
params.error=error
throw new Exception("Validation Failure")
}else{
render(view:'result')
}
}
catch(Exception e){
render(view:'error')
}
在gsp中
...
<div id="errorPage"></div>
...
<div id="resultContent"></div>
...
我想要的是在所有值均有效时更新
resultContent
,但是在存在某些验证错误时更新errorPage
。 resultContent
div已更新。但是errorPage
保持不变。如何让Grails知道
errorPage
div应该更新?我想我应该在 Controller 中进行一些更改,以使gsp页面知道验证处于“失败”状态。但是我找不到在线示例来执行此操作。请帮忙!
最佳答案
如果要基于参数创建新的User
,可以执行以下操作:
def user = new User(params)
user.validate()
if ( user.hasErrors() ) {
render template: 'error', model: [user: user], status: '403'
} else {
render view: 'result'
}
关于ajax - 如何使用Grails的update属性SubmitToRemote,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23666799/