做一個(gè)登陸驗(yàn)證
表單里面是一個(gè)文本框 文本框后面那個(gè)是錯(cuò)誤提示??
???????????????????????????????????????????????????????????????????????????????????????就是要驗(yàn)證的 函數(shù)? 注意 一定要是validate? l 和f 要大寫(xiě)
<html:form action="/login" method="post" focus="login" onsubmit="return validateLoginForm(this)">
<html:text property="username" /><html:errors property="username"/>
</html>
下面這條是用來(lái)生成javascript的 formName對(duì)應(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里寫(xiě)的是org.apache.struts.action.DynaActionForm 表明這個(gè)類(lèi)是動(dòng)態(tài)bean
下面2個(gè)是它的2個(gè)屬性 注意 要個(gè)表單的property? 一致
<action
????? attribute="loginForm"
????? input="/login.jsp"
????? name="loginForm"
????? path="/login"
????? scope="request"
????? validate="true"
????? type="org.eimhe.struts.action.LoginAction" />
因?yàn)槲覀円獊?lái)驗(yàn)證所以validate="true"?? 另外 attribute要寫(xiě) 且 等于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里寫(xiě)的一個(gè)是驗(yàn)證規(guī)則文件/WEB-INF/validator-rules.xml,
??????????????????????????????另一個(gè)是 自己寫(xiě)的具體驗(yàn)證的一個(gè)xml文件validation.xml
這個(gè)文件建立在web-inf文件夾里 用eclipse建立這個(gè)文件的方法是 在web-inf目錄下1新建2其他3 base-xml
4 dtd-file 5寫(xiě)名字(validation)6select xml(選擇dtd規(guī)格? ) 選擇validator 1.13的那個(gè)
添加驗(yàn)證的差件
ctrl+n
選擇struts1.2 選擇plug 在里面寫(xiě)ValidatorPlugIn找到這個(gè)插見(jiàn) 就可以了
屬性寫(xiě)pathnames
validation里寫(xiě) :
<form-validation>
<formset>
<form name="loginForm">
<field property="username" depends="required,mask" >?? property我就不說(shuō)了
//depends? 是要進(jìn)行驗(yàn)證的2個(gè)方式 和validator-rules.xml里的對(duì)應(yīng)?
<arg key="label.username"/>? //屬性文件里已經(jīng)賦了值的一個(gè)變量!我們將會(huì)在驗(yàn)證時(shí)候用到的
<var>
<var-name>mask</var-name>//mask的驗(yàn)證規(guī)則把 ,我現(xiàn)在還沒(méi)怎么理解這個(gè)
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
//屬性文件?? ApplicationResources.propertites
//下面是在config里配置時(shí)寫(xiě)的
?<message-resources parameter="org.eimhe.struts.ApplicationResources" />
//這個(gè)文件是個(gè)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個(gè)errors對(duì)應(yīng)validator-rules.xml里的 一些內(nèi)容
houmian? =號(hào) 后面就是錯(cuò)誤時(shí)候給出的提示框 {0}表示參數(shù) 會(huì)用validator.xml里 想對(duì)應(yīng)的key 里的值
zai? ApplicationResources里對(duì)應(yīng)的值 這里對(duì)應(yīng)的就是? your name
以上驗(yàn)證如果沒(méi)有錯(cuò)誤的化? 就會(huì)到action里去。
只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||