【问题标题】:org.springframework.validation.Errors.rejectValue doesn't escape valuesorg.springframework.validation.Errors.rejectValue 不会转义值
【发布时间】:2015-12-16 15:39:39
【问题描述】:

我正在尝试向 Spring MVC 验证器中的错误消息添加转义值

final Object[] vatErrorArray = new String[2];
   vatErrorArray[0] = "aaa";
   vatErrorArray[1] = "bbb";
errors.rejectValue("vatfield", "vendor.vat.number.invalid.pattern.generic", vatErrorArray, "Invalid VAT");

其中vendor.vat.number.invalid.pattern.generic如下:

vendor.vat.number.invalid.pattern.generic=VAT Number's pattern is invalid for {0}. Valid pattern: {1}.

很遗憾,显示的错误消息不包含转义值:

VAT Numbers pattern is invalid for {0}. Valid pattern: {1}.

我做错了什么?

PS 我使用的是 Spring MVC 版本 4.2.1.RELEASE

【问题讨论】:

  • 这不是一个很好的答案,但可能会有所帮助 - 如果将 vatErrorArray 更改为 String[] 而不是 Object[] 会发生什么?
  • 不幸的是,这并没有什么区别。

标签: spring-mvc


【解决方案1】:

我认为您需要将Number's 中的单引号更改为两个单引号('')。

我自己没有尝试过,但主要基于this 问题的内容,以及它链接到的 MessageFormat 文档,以及您的单引号似乎正在消失的事实。

【讨论】:

  • 用两个双引号(Number's)替换消息中的单引号(Number's)解决了这个问题。非常感谢。
猜你喜欢
  • 2013-01-20
  • 2012-01-16
  • 2011-07-27
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多