如何从两个至少使用JSF / Primefaces创建一个字段

时间:2014-04-09 18:59:41

标签: jsf jsf-2 primefaces

我使用带有jsf的primefaces,我想至少需要两个字段中的一个。这意味着如果这两个字段是空的,则会显示错误消息: 这是我的代码示例:

<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" />

谢谢:)

2 个答案:

答案 0 :(得分:3)

您可以这样实现:

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

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

答案 1 :(得分:0)

如果要显示验证错误,请使用<p:message for="srcNumber" /> 并且对于测试编号,删除outputLabels,这将显示验证警告。

您还需要在inputTexts中添加required =“true”标志。

这是最重要的                    

修改 Purpose of the h:outputLabel and its "for" attribute这里显示outputLabel使用非主要面来显示validatoin消息,如果这是你的全部问题那么你只需要在输入文本上添加required =“true”验证标志指示符