【问题标题】:How to make one field from two required at least with JSF/Primefaces如何使用 JSF/Primefaces 至少从两个字段中创建一个字段
【发布时间】:2014-04-09 18:59:40
【问题描述】:

我将 primefaces 与 jsf 一起使用,并且我希望至少需要两个字段之一。这意味着如果这两个字段一起为空,将显示错误消息: 这是我的代码示例:

<h:outputLabel for="srcNumber" value="Originator MSISDN (EXAMPLE 32495959595)" />
<p:inputText id="srcNumber" value="#{cdrMmscRecBean.srcNumber}" label="srcNumber" />
<h:outputLabel for="destNumber" value="Destination MSISDN (EXAMPLE 32495959595)" />
<p:inputText id="destNumber" value="#{cdrMmscRecBean.destNumber} label="destNumber" />

谢谢:)

【问题讨论】:

  • 在 bean 的提交操作中检查它。

标签: jsf jsf-2 primefaces


【解决方案1】:

你可以这样实现:

<p:inputText id="srcNumber" value="#{cdrMmscRecBean.srcNumber}" label="srcNumber" 
     required="#{empty cdrMmscRecBean.destNumber}" requiredMessage="SRC Number Required">
    <p:ajax event="change" update="destNumber" />
</p:inputText>

<p:inputText id="destNumber" value="#{cdrMmscRecBean.destNumber}" label="destNumber"
     required="#{empty cdrMmscRecBean.srcNumber}" requiredMessage="DEST Number Required">
    <p:ajax event="change" update="srcNumber" />
</p:inputText>

有关如何参数化验证消息的更多参考:

【讨论】:

    【解决方案2】:

    如果您想显示验证错误,请使用 &lt;p:message for="srcNumber" /&gt; 和测试号一样,去掉你的 outputLabels,这将显示验证警告。

    您还需要将 required="true" 标志添加到您的 inputTexts 中。

    这是素面

    编辑 Purpose of the h:outputLabel and its "for" attribute 这里显示了使用非primefaces 显示验证消息的输出标签,如果这是您的全部问题,那么您只需在输入文本中添加 required="true" 验证标志指示符

    【讨论】:

    • 感谢 VeenarM,这里的“输出标签”仅用于显示每个字段的标签,而不是用于显示错误消息。我的主要问题是如何在字段同时为空时显示错误消息。
    • 只使用 p:message ,它只呈现人脸验证消息中的消息。您需要提交表单以生成这些消息的呈现,或者正如 Qussay 所提到的,如果您将 ajax evnt 侦听器附加到它,那么您可以让它成为动态的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2020-03-08
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多