我想用<g:submitToRemote value="Submit" update="[success:'resultContent',failure:'errorPage']" action="submit" />
在验证通过时启用更新resultContent
div,但在未通过验证时更新errorPage
div。
但我不知道如何让grails知道验证没有通过。这是我使用的代码
在控制器中
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应该更新?
我想我应该在控制器中进行一些更改,让gsp页面知道验证处于“失败”状态。但我无法在网上找到这样做的例子。请帮忙!
答案 0 :(得分:1)
如果您想基于参数创建新的User
,可以执行以下操作:
def user = new User(params)
user.validate()
if ( user.hasErrors() ) {
render template: 'error', model: [user: user], status: '403'
} else {
render view: 'result'
}