validate客戶端驗(yàn)證不起作用
要啟動(dòng)客戶端驗(yàn)證,必須將HTML標(biāo)記庫(kù)的javascript標(biāo)記放入在jsp頁(yè)面文件中,例如:<html:javascript formName="selectForm"/>.
而且要在form標(biāo)簽中這樣寫<html:form action = "/selectAction.do"method = "post" focus="userId" onsubmit="return validateSelectForm(this);">
注意DynaValidatorForm(ValidatorForm)和DynaValidatorActionForm(ValidatorActionForm)的區(qū)別。前者主要的視角是formbean,而后者的視角是action。
當(dāng)formbean被不同的action使用時(shí),對(duì)于不同的action而言,使用的formbean的屬性集合有大有小。此時(shí)如果仍然以formbean為主體,會(huì)造成其他action的不正常使用。因此,struts中提出了DynaValidatorActionForm(ValidatorActionForm)。此時(shí)在validation.xml中的form標(biāo)簽的name屬性改為action的path屬性,又由于action中有attribute和name屬性,validation框架就可根據(jù)這個(gè)action得到對(duì)應(yīng)的formbean。
同時(shí)注意頁(yè)面文件的相應(yīng)控件也要改為action的path屬性。例:<html:javascript formName="/selectAction"/>
posted on 2008-03-05 13:01 范永強(qiáng) 閱讀(841) 評(píng)論(3) 編輯 收藏