grails - 从Grails Controller 模板中的脚手架功能获取错误列表

标签 grails scaffolding

我正在使用Grails 1.3.7。在Grails项目中,我想向默认的脚手架 Controller 添加一个函数ajaxupdate,该 Controller 的功能与更新函数完全相同,但是返回带有最终错误列表的JSON数据。

  def ajaxupdate = {
    String retMessage = ""
    List errMessageList = []

    def ${propertyName} = ${className}.get(params.id)
    if (${propertyName}) {
        ${propertyName}.properties = params
        if (!${propertyName}.hasErrors() && ${propertyName}.save(flush: true)) {
            retMessage = "\${message(code: 'default.updated.message', args: [message(code: '${domainClass.propertyName}.label', default: '${className}'), ${propertyName}.id])}"
        }
        else {
            // Add errors in errMessageList
        }
    }
    else {
        errMessageList.add("\${message(code: 'default.not.found.message', args: [message(code: '${domainClass.propertyName}.label', default: '${className}'), params.id])}")
    }

    render(contentType: "text/json") {
        answer(
            message:retMessage,
            errors:errMessageList)
    }
  }

最佳答案

如果您询问如何获取错误列表,则可以像这样访问Errors

errMessageList = ${propertyName}.errors.allErrors.collect {g.message(error:it).encodeAsHTML()}

关于grails - 从Grails Controller 模板中的脚手架功能获取错误列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389035/

相关文章:

grails - 使用字段插件修改Grails脚手架模板时发生异常

ruby-on-rails - 生成引用一个模型的脚手架,该模型引用另一个模型

html - 当表单在两个不同的位置呈现时,如何将 CSS 添加到 Rails 中的表单?

asp.net-mvc-3 - 在脚手架 View MVC3 中分页

grails - 强制 Grails/Weblogic 仅使用 HTTPS 协议(protocol)重定向

hibernate - 使用不同的别名多次加入关联

grails - 使用复选框选择gsp表中的多条记录?

grails - Grails:按详细信息域字段控制主域字段[hasMany]

grails - 在Groovy中生成音频波形

asp.net-mvc-3 - : [ScaffoldColumn (false)] and [Display (AutoGenerateField = false)] 之间的区别