我正在使用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/