做一个登陆验证
表单里面是一个文本框 文本框后面那个是错误提示
就是要验证的 函数 注意 一定要是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对应的就是配置文件里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 表明这个类是动态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里写的一个是验证规则文件/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规格 ) 选择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里的对应
<arg key="label.username"/> //属性文件里已经赋了值的一个变量!我们将会在验证时候用到的
<var>
<var-name>mask</var-name>//mask的验证规则把 ,我现在还没怎么理解这个
<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对应validator-rules.xml里的 一些内容
houmian =号 后面就是错误时候给出的提示框 {0}表示参数 会用validator.xml里 想对应的key 里的值
zai ApplicationResources里对应的值 这里对应的就是 your name
以上验证如果没有错误的化 就会到action里去。