做一個登陸驗證
表單里面是一個文本框 文本框后面那個是錯誤提示??
???????????????????????????????????????????????????????????????????????????????????????就是要驗證的 函數(shù)? 注意 一定要是validate? l 和f 要大寫
<html:form action="/login" method="post" focus="login" onsubmit="return validateLoginForm(this)">
<html:text property="username" /><html:errors property="username"/>
</html>
下面這條是用來生成javascript的 formName對應(yīng)的就是配置文件里formbean的name
<html:javascript formName="loginForm"/>
配置文件
<form-beans >
??? <form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
????? <form-property name="password" type="java.lang.String" />
????? <form-property name="username" type="java.lang.String" />
??? </form-bean>
</form-beans>
注意 type里寫的是org.apache.struts.action.DynaActionForm 表明這個類是動態(tài)bean
下面2個是它的2個屬性 注意 要個表單的property? 一致
<action
????? attribute="loginForm"
????? input="/login.jsp"
????? name="loginForm"
????? path="/login"
????? scope="request"
????? validate="true"
????? type="org.eimhe.struts.action.LoginAction" />
因為我們要來驗證所以validate="true"?? 另外 attribute要寫 且 等于name
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
??? <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
? </plug-in>
value里寫的一個是驗證規(guī)則文件/WEB-INF/validator-rules.xml,
??????????????????????????????另一個是 自己寫的具體驗證的一個xml文件validation.xml
這個文件建立在web-inf文件夾里 用eclipse建立這個文件的方法是 在web-inf目錄下1新建2其他3 base-xml
4 dtd-file 5寫名字(validation)6select xml(選擇dtd規(guī)格? ) 選擇validator 1.13的那個
添加驗證的差件
ctrl+n
選擇struts1.2 選擇plug 在里面寫ValidatorPlugIn找到這個插見 就可以了
屬性寫pathnames
validation里寫 :
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required,mask" >?? property我就不說了
//depends? 是要進行驗證的2個方式 和validator-rules.xml里的對應(yīng)?
<arg key="label.username"/>? //屬性文件里已經(jīng)賦了值的一個變量!我們將會在驗證時候用到的
<var>
<var-name>mask</var-name>//mask的驗證規(guī)則把 ,我現(xiàn)在還沒怎么理解這個
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
//屬性文件?? ApplicationResources.propertites
//下面是在config里配置時寫的
?<message-resources parameter="org.eimhe.struts.ApplicationResources" />
//這個文件是個java元文件放在一起的 不是和xml配置文件在一起
在src目錄里
# Resources for parameter 'org.eimhe.struts.ApplicationResources'
# Project eimheStrutsl2
label.username=your name
errors.required={0}is not null
errors.invalid={0}is not zimu
errors.required這2個errors對應(yīng)validator-rules.xml里的 一些內(nèi)容
houmian? =號 后面就是錯誤時候給出的提示框 {0}表示參數(shù) 會用validator.xml里 想對應(yīng)的key 里的值
zai? ApplicationResources里對應(yīng)的值 這里對應(yīng)的就是? your name
以上驗證如果沒有錯誤的化? 就會到action里去。