Dav*_*rks 8 java validation spring-mvc
在Spring中,经过验证后我们得到了一个BindingResult对象controller.
很简单,如果我收到验证错误,我想重新显示我的表单,并在每个受影响的字段上方显示错误消息.
因此,要检查领域错误的现场username我的FormObject我的呼叫:
FieldError usernameFieldError = bindingResult.getFieldError("username");
Run Code Online (Sandbox Code Playgroud)
太好了,现在我拿着一个FieldError对象,假设我使用的DefaultMessageCodeResolver现在包含4个可能的错误代码.
我该怎么做FieldError- >一个可供用户使用的字符串?
我MessageSource在我的webapplication上下文中定义了,所以我可以将单个错误代码映射到消息.
但有时默认消息是最好的,有时我希望两个错误代码可能有相关的消息,所以我们需要选择最好的消息.
我可以使用什么方法来确定为字段错误提供的最佳错误消息?
Aff*_*ffe 15
正如您所猜测的那样,您正在努力让自己变得更加困难.该FieldError对象本身就是一个MessageSourceResolvable.您无需从中获取代码,然后手动将单个代码移至消息源并继续查看.您可以将其传递给您MessageSource,它将找到在您的语言环境中定义了翻译的最具体的一个.(假设你的代码解析器以正确的顺序放置它们.)
在大多数情况下,你甚至不需要这样做.Errors通常不需要放置您的支持对象并自己翻译它们.formjsp库中的命名空间提供了一个标记,可以为您查找错误消息.所有你需要做的就是把Errors在ModelMap.查看文档:
| 归档时间: |
|
| 查看次数: |
10811 次 |
| 最近记录: |