<a4j:outputPanel id="tapalSectionSendToPanel" ajaxsingle="true">
<h:inputText id="sendToId1" value="#{MainBean.SectionBean.sendTo}"
class="createresizedTextbox"
required="true" requiredMessage="#{msg.labl_required}"
disabled="true" />
<h:message for="sendToId1" style="color:red" />
</a4j:outputPanel>
我需要验证文本框是否为空验证,并且当我单击按钮而不在文本框中输入任何值时应显示所需。没有disabled="true"
它可以正常工作。什么是我的要求的替代方案。
答案 0 :(得分:4)
首先,required
和disabled
不能很好地融合在一起,因为它们根据JSF Spec是互斥的:
就像我在评论中所说,当用户尝试提交表单而不选择节点时,您只需显示一条消息:
<h:inputText id="sendToId1" value="#{MainBean.SectionBean.sendTo}"
styleClass="createresizedTextbox" required="true" readonly="true" />
<h:message for="sendToId1" value="#{msg.labl_required}"
rendered="#{facesContext.postback and facesContext.validationFailed}" />
作为替代方案,您只需在标记中的任何位置显示文字:
<h:outputText value="#{msg.labl_required}"
rendered="#{empty MainBean.SectionBean.sendTo}" />
答案 1 :(得分:3)
disabled="true"
禁用输入(因此在提交表单时会跳过它),如果您不希望用户输入,请使用readonly="readonly"