开发者

validating dynamic textbox2 based on entered value in textbox1 in rich table

I am creating components dynamically using rich:dataTable and the components in each row are checkbox, text1, text2. I am able to create/delete rows. I added validators for text1 and text2.

I need to validate text2 based on chars enetered in text1. Suppose in text1 component if 3 is entered then in text2 component I need to allow max 3 chars. And this need to be done for all the dynamically generated rows for the entire table.

<rich:dataTable id ="outtable" value="#{bean.Items}" var="row">
    <rich:column>
            <f:facet name="header">
                    <h:outputText id="selectrow" value="select" style="font-weight: bold; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;" />
            </f:facet>
            <h:selectBooleanCheckbox value="#{row.selected}" />
    </rich:column>
    <rich:column>
            <f:facet name="header">
                    <h:outputText size="15" value="Bean Value" 
                    style="font-weight: bold; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;"/>
            </f:facet>
            <s:decorate id="valueDecoration" template="layout/edit.xhtml">
            <h:inputText  size="8" maxlength="4" value="#{row.beanValue}" required="true" >
                <f:validator validatorId="beanValueValidator"/>
                <s:validate/>
                <a:support event="onblur" reRender="valueDecoration"  bypassUpdates="false" ajaxSingle="true"/>
            </h:inputText>
           </s:decorate>      
    </rich:column>
    <rich:column>
            <f:facet name="header">
                    <h:outputText  value="Bean Data" 
                    style="font-weight: bold; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;"/>
            </f:facet>
            <s:decorate id="dataDecoration" template="layout/edit.xhtml">                                   
            <h:inputText size="30" maxlength="40" value="#{row.beanData}" required="true">
              <f:validator validatorId="beanDataValidator"/>
              <s:validate/>
              <a:support event="onblur" reRender="dataDecoration" bypassUpdates="false" ajaxSingle="true" />                                    
            </h:inputText>
            </s:decorate> 
    </rich:column>
    <f:facet name="footer">
            <h:panelGroup>                                          
                    <h:commandButton value="Add Row" action="#{bean.add}"  />
                    <h:comm开发者_如何学JAVAandButton value="Delete Selected" action="#{bean.remove}"  />
            </h:panelGroup>
    </f:facet>
</rich:dataTable>

How can I achieve this?


Give richfaces 3.3 Graph Validator (4.x) a try.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜