如何使用Grails submitToRemote的update属性

时间:2014-05-14 23:23:57

标签: ajax grails gsp

我想用<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,但在有一些验证错误时更新errorPageresultContent div已更新。但是errorPage没有受到影响。 我怎么能让grails知道errorPage div应该更新? 我想我应该在控制器中进行一些更改,让gsp页面知道验证处于“失败”状态。但我无法在网上找到这样做的例子。请帮忙!

1 个答案:

答案 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'
}