我无法显示验证错误
def saveTable() {
def tableInstance = new Table(params)
if (!tableInstance.save(flush: true)) {
tableInstance.errors.each {
flash.message = it //<---- this part
}
redirect(action: "listTable")
return
}
flash.message = message(code: 'default.created.message', args: [message(code: 'table.label', default: 'Table'), tableInstance.id])
redirect(action: "listTable")
flash消息似乎没有显示错误
如果错误显示在println it
并且也有错误
我使用普通字符串flash.message = "a"
对其进行了测试,它适用于我的脚本
<script type='text/javascript'>
(function() {
<g:if test='${flash.message}'>
$('document').ready(function(){
$.gritter.add({
title: '',
text: '${flash.message}',
image: '',
sticky: false,
time: ''
});
return false;
});
</g:if>
})();
</script>
答案 0 :(得分:2)
此代码在每次循环迭代中重置flash.message。
tableInstance.errors.each {
flash.message = it //<---- this part
}
尝试组合这样的错误,例如
tableInstance.errors.each {
flash.message += it + "<br>"
}
答案 1 :(得分:0)
我想知道你的意思是:
tableInstance.errors.allErrors.each {
flash.message = it;
}
您可能会觉得这很有用:http://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/validation/Errors.html
此外,如果存在多个错误,则在此循环中分配闪存消息将覆盖它。也许你想以某种方式连接它们?