使用omnifaces`o:validateMultiple`从验证错误消息中丢失引号

时间:2014-01-14 16:29:54

标签: jsf-2 omnifaces

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

<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é

1 个答案:

答案 0 :(得分:3)

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

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

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

另一种方法是使用卷曲的右单引号。

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