从Grails控制器模板中的脚手架函数获取错误列表

从Grails控制器模板中的脚手架函数获取错误列表,grails,scaffolding,Grails,Scaffolding,我正在使用Grails1.3.7。在Grails项目中,我想向默认的scaffold控制器添加一个函数ajaxupdate,它执行与update函数完全相同的工作,但返回带有最终错误列表的JSON数据 def ajaxupdate = { String retMessage = "" List errMessageList = [] def ${propertyName} = ${className}.get(params.id) if (${propert

我正在使用Grails1.3.7。在Grails项目中,我想向默认的scaffold控制器添加一个函数ajaxupdate,它执行与update函数完全相同的工作,但返回带有最终错误列表的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)
    }
  }

如果您询问如何获取错误列表,您可以访问


如果您询问如何获取错误列表,您可以访问

谢谢你,维克多!这正是我所希望的!谢谢你,维克多!这正是我所希望的!
errMessageList = ${propertyName}.errors.allErrors.collect {g.message(error:it).encodeAsHTML()}