Получение списка ошибок из функции scaffolded в шаблоне контроллера Grails - PullRequest
1 голос
/ 22 марта 2011

Я использую Grails 1.3.7.В проекте Grails я хочу добавить функцию ajaxupdate к стандартному scaffolded Controller, который выполняет ту же работу, что и функция 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)
    }
  }

1 Ответ

4 голосов
/ 22 марта 2011

Если вы спрашиваете, как получить список ошибок, вы можете получить доступ к Errors like

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