<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"
它工作正常。我的要求的替代方案是什么。
首先,required
和 disabled
不能很好地结合在一起,因为根据 JSF 规范,它们是互斥的:
- 必需:指示用户需要为此输入组件提供已提交值的标志。
- 已禁用:指示此元素不得接收焦点或包含在后续提交中的标志。
就像我在评论中所说的那样,当用户尝试提交表单而不选择节点时,您可以只显示一条消息:
<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}" />
disabled="true"
禁用输入(因此在提交表单时会跳过输入(,如果您不希望用户在其中键入输入,请使用readonly="readonly"