【问题标题】:Jsf Validation Based on Selecting Radio button [closed]基于选择单选按钮的Jsf验证[关闭]
【发布时间】:2013-05-13 13:41:52
【问题描述】:
       <h:panelGrid id="userActivationGrid" columns="1">
            <p:selectOneRadio value="#{user.activationMode}" layout="pageDirection" immediate="true" >
                <f:selectItem itemLabel="${adminmsgs['create.avtivateMode.button.label']}" itemValue="${adminmsgs['create.avtivateMode.button.itemvalue.label']}"  />
                <f:selectItem itemLabel="${adminmsgs['create.avtivateMode1.button.label']}" itemValue="${adminmsgs['create.avtivateMode1.button.itemvalue.label']}"  />
                <f:ajax event="change" render="userActivationGrid" /> 
                <f:ajax event="click" listener="#{user.tempPassword()}"/>
            </p:selectOneRadio>
            <p:spacer width="10"/>
            <h:panelGrid id="manualActivationGrid" rendered="#{user.manualActivation}" columns="3">
                <h:outputLabel>#{adminmsgs['create.manualActivation.text.label']}</h:outputLabel>
                <p:inputText id="userName" immediate="true" required="true" value="#{user.userName}" requiredMessage="UserName Should Be Entered" validatorMessage="Username Should Be alphanumeric"/>
                <h:message id="userNameMsg" for="userName" />
                <h:outputLabel>#{adminmsgs['create.manualActivation1.text.label']}</h:outputLabel>
                <p:password id="password" immediate="true" required="true" validatorMessage="password should be minimum 5 character" requiredMessage="Password is Mandatory"/>
                <h:message id="passwordMsg" for="password" />
            </h:panelGrid>
        </h:panelGrid>

我正在使用两个单选按钮,如果我选择单选按钮,用户名和密码应该验证,否则它不会被验证。请帮助我提前感谢

【问题讨论】:

    标签: ajax jsf


    【解决方案1】:

    我建议将f:validateRegex 标签添加到userNamepassword 输入,如下所示:

    <p:inputText id="userName" immediate="true" required="true" value="#{user.userName}" requiredMessage="UserName Should Be Entered" validatorMessage="Username Should Be alphanumeric">        
      <f:validateRegex pattern="[_A-Za-z0-9]+" disabled="#{user.validationDisabled}" />
    </p:inputText>
    

    validationDisabled 属性使用您的单选按钮值来确定是否需要验证。有关 Primefaces + JSF 验证器的更多示例,请参阅 here

    【讨论】:

    • 父级不是 EditableValueHolder 的实例:javax.faces.component.html.HtmlPanelGrid@639b5028 给出此错误不起作用
    • 您使用的是哪个版本的 JSF 和 Primefaces?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多