我在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" />
谢谢:)
您可以这样实现:
<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>
有关如何参数化验证消息的更多参考:
- 带有Facelets Taglib函数的JSF中的参数化消息
如果要显示验证错误,请使用<p:message for="srcNumber" />
同样,对于测试编号,去掉outputLabel,这将显示验证警告。
您还需要在inputText中添加required="true"标志。
这是素数面
编辑h:outputLabel及其";对于";这里的属性显示了使用非素数面来显示验证消息的outputLabel。如果这就是你的全部问题,那么你只需要在你的输入文本上添加必需的="true"验证标志指示符