ajax - 如何使用Grails的update属性SubmitToRemote

标签 ajax grails gsp

我想使用<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,但是在存在某些验证错误时更新errorPageresultContent 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/

相关文章:

javascript - AJAX调用后如何正确获取JSON?

javascript - jQuery Ajax 无法与 $.ajax() 一起使用

grails - Grails sitemesh是否有不支持带有开放HTML正文标签的语句的解决方法?

javascript - 是否可以在 grails 中使用 jquery 设置隐藏字段值?

grails - 无法访问 Controller 中的隐藏字段或参数

java - 在 spring mvc 中使用 jQuery ajax 从 html 页面传递值

Javascript 无法从 PHP 变量获取值?

maven - 如何在Grails依赖项中指定<type>?

grails - 如何在智能12中定义 cucumber 的步骤定义位置

apache - 如何在 Apache Tomcat 服务器上部署 IntelliJ IDEA 项目?