我正在使用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é
。
答案 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." />