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

i need to validate textbox for empty validation and should show required when i click button without entering any value in textbox. It works fine without disabled="true". Whats the alternative for my requirement.

4

2 回答 2

4

首先,required不要很好地结合在一起,因为根据JSF 规范disabled,它们是互斥的:

  • required:指示用户需要为此输入组件提供提交值的标志。
  • disabled:指示此元素永远不能获得焦点或包含在后续提交中的标志。

就像我在评论中所说,当用户尝试提交表单而不选择节点时,您可以只显示一条消息:

<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}" />
于 2013-07-30T11:54:26.067 回答
3

disabled="true"禁用输入(因此在提交表单时会跳过它),如果您不希望用户输入它,请使用readonly="readonly"

于 2013-07-30T11:46:04.613 回答