要启动客户端验证,必须将HTML标记库的javascript标记放入在jsp页面文件中,例如:
<html:javascript formName="selectForm"/>.
而且要在form标签中这样写<html:form action = "/selectAction.do"method = "post" focus="userId" onsubmit="return validateSelectForm(this);">
注意DynaValidatorForm(ValidatorForm)和DynaValidatorActionForm(ValidatorActionForm)的区别。前者主要的视角是formbean,而后者的视角是action。
当formbean被不同的action使用时,对于不同的action而言,使用的formbean的属性集合有大有小。此时如果仍然以formbean为主体,会造成其他action的不正常使用。因此,struts中提出了DynaValidatorActionForm(ValidatorActionForm)。此时在validation.xml中的form标签的name属性改为action的path属性,又由于action中有attribute和name属性,validation框架就可根据这个action得到对应的formbean。
同时注意页面文件的相应控件也要改为action的path属性。例:<html:javascript formName="/selectAction"/>