【问题标题】:quotes are lost from validation error message with omnifaces `o:validateMultiple`带有omnifaces`o:validateMultiple`的验证错误消息中的引号丢失
【发布时间】:2014-01-14 16:29:53
【问题描述】:

我正在使用 Omnifaces 1.7 来验证我的 JSF 2 表单中的多个字段。更准确地说,我使用以下 sn -p

<o:validateMultiple 
          id="activiteValidator" 
          components="programmeCreation programmeReport dateEcheance"
          validator="#{activiteControleFacesValidator}" 
          message="L'activité n'est pas cohérente." />

除了一个小故障外,它按预期工作;由于触发了验证错误,因此显示消息时错误消息中的引号会丢失。这是我在验证失败时在 HTML 中得到的内容

Lactivité nest pas cohérente.

如果您知道此配置有什么问题或者我可以如何规避该问题,我将不胜感激。

更新:如果我试图逃避报价,它仍然不起作用。当message="L\'activité"时,HTML结果为L\activité

【问题讨论】:

  • 试试这个:message="L\'activité n\'est pas cohérente.".
  • 抱歉我的帖子不够完整。我已经尝试过了,我已经更新了我的帖子。
  • 您能否尝试将消息表达式放在视图以外的其他位置(在模型层或通过捆绑功能)?
  • 如果消息来自 bean getter,问题是相同的。

标签: jsf-2 omnifaces


【解决方案1】:

这是由 MessageFormat API 引起的,该 API 用于消息格式化(替换 {0}{1} 等)。撇号(单引号)实际上是一个转义字符。

您需要将单引号转义为另一个单引号才能按原样显示。

<o:validateMultiple 
    ...
    message="L''activité n''est pas cohérente." />

另一种方法是使用右弯单引号。

<o:validateMultiple 
    ...
    message="L’activité n’est pas cohérente." />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 2023-03-31
    • 2012-07-28
    相关资源
    最近更新 更多