Jam*_*hon 2 validation grails logging
在Grails中记录错误的命令对象的最有效方法是什么?
我当前的日志只是,
if (!cmd.validate()) log.debug("command invalid ${cmd.errors}")
Run Code Online (Sandbox Code Playgroud)
但它只是喷出一个难以理解的输出混乱.
有人提出改进命令对象日志的建议吗?
为messageSourcebean 添加依赖注入:
def messageSource
Run Code Online (Sandbox Code Playgroud)
然后,您可以构建一个由字段名称键入的映射,其中包含该字段的验证错误:
def locale = Locale.default
def stringsByField = [:].withDefault { [] }
for (fieldErrors in cmd.errors) {
for (error in fieldErrors.allErrors) {
stringsByField[error.field] << messageSource.getMessage(error, locale)
}
}
Run Code Online (Sandbox Code Playgroud)
你可以println stringsByField按键运行或查找个别问题.
这里我使用默认的Locale,但是如果你使用本地化,请使用当前的Locale.
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |