【问题标题】:Message bundle parameter is not replaced by label消息包参数不被标签替换
【发布时间】:2014-11-14 11:15:20
【问题描述】:

我在 faces-config.xml 中定义了我的包:

<application>
    <locale-config>
        <default-locale>pt_BR</default-locale>
    </locale-config>
    <message-bundle>ValidationMessages</message-bundle>
</application>

这是 ValidationMessages.properties:

javax.validation.constraints.NotNull.message={1} não deve ser nulo

这里还有一个 inputText:

<p:inputText id="contato" label="Contato" value="#{solicitacaoController.solicitacao.contato}" />

如果我在没有填写上面的 inputText 的情况下提交表单,我会收到以下消息:

{1} não deve ser nulo

有人知道为什么 {1} 没有被 inputText 标签替换吗?

【问题讨论】:

  • 你试过{0}吗?
  • 我刚试过,但 {0} 也不起作用。
  • 如果你有javax.validation.constraints.Max.message,验证器将{value} 参数传递给消息,就像这样-“必须小于或等于{value}”。我不认为javax.validation.constraints.NotNull 需要任何参数。
  • 但是当我使用 p:messages 并显示来自许多 inputTexts 的各种错误消息时,用户如何知道哪个消息与每个 inputText 相关?
  • 每个输入都需要&lt;p:message for="inputId" /&gt;

标签: jsf


【解决方案1】:

经过这么多月,我终于找到了使消息的参数起作用所需的条件。

我必须将它添加到我的 Message.properties 文件中:

javax.faces.validator.BeanValidator.MESSAGE={1} {0}

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多