再加一下有关验证的资料,不知道对你有用不?1. 在struts-config.xml文件中加入validator插件,加入这个插件后你的应用就具别的使用validator的环境,但是,要想真正的使用它还需要其他的配置。如: <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" /> </plug-in> 2. 在struts-config.xml文件中添加ApplicationResources配置文件。如: <message-resources parameter="com.dc.sibss.om.struts.ApplicationResources" /> 添加此文件的作用是提供错误信息的非编程定制化和多语言支持。如果我们使用中文平台操作系统,则默认情况下将首先查找ApplicationResource_zh_CN.properties文件,然后是ApplicationResources_zh.properties,如果前两个文件没有被找到则将查找ApplicationResources.properties文件。 为了能够在页面上显示错误提示信息,我们还需要将以下内容添加到ApplicationResources.properties文件的末尾: errors.required={0} is required. errors.minlength={0} cannot be less than {1} characters. errors.maxlength={0} cannot be greater than {2} characters. errors.invalid={0} is invalid. errors.byte={0} must be an byte. errors.short={0} must be an short. errors.integer={0} must be an integer. errors.long={0} must be an long. errors.float={0} must be an float. errors.double={0} must be an double. errors.date={0} is not a date. errors.range={0} is not in the range {1} through {2}. errors.creditcard={0} is not a valid credit card number. errors.email={0} is an invalid e-mail address. 以上仅是struts现在支持的错误类型的错误提示信息,如果你自定义了新类型的错误验证,则还需要在此加上你自己的内容。 以上内容中的{0}指的是错误提交的参数。比如:当你需要页面上的“用户名”不能为空时(也就是上面的errors.required),这个{0}就代表“用户名”,所以如果你没有填写用户名将抛出如下错误: 用户名 is required.(你可以根据需要修改称中文) 我们可能已经注意到了,既然错误提示信息需要配置,那么上例中“用户名”系统是如何得到的呢?没错!也是通过修改此配置文件,内容如下: visitCust.error.name.required=<br>用户名 这样当“用户名”为空时,struts后台程序将联合以上两处定义显示错误信息。 另外,上面的“visitCust.error.name.required”是在Validation.xml配置验证内容时指定的。具体见以下介绍。 注意:一般情况下,你的系统只需要一个ApplicationResources文件,所以开发组的成员不要添加自己的resource文件。只有在你的项目分组开发时才需要使用多个ApplicationResources文件,但是,同时你的struts-config.xml文件也会有相同的数量对应。 3. 创建你的ActionForm并让它继承org.apache.struts.validator.ValidatorForm类。 4. 创建你的Action实现,并和上面定义的ActionForm关联。这里需要注意的是,在定义此Action时一定将validate属性设置为true,并且在你定义的ActionForm中不要实现它的validate方法――这就意味着你将使用ValidatorForm的validate方法,这样才能保证你的错误验证正常进行。 5. 配置validation.xml文件。基本内容如下: <form-validation> <!-- ========== Default Language Form Definitions ===================== --> <formset> <form name="custGNewForm">需要验证页面上form的名字 <field property="certifiCode"需要校验的属性 depends="required,maxlength">校验内容 <arg0 key="prompt.certifiCode"/>ApplicationResource文件中对应 <arg1 key="${var:maxlength}" name="maxlength" resouce="false"/> <var>确定最长限制的长度 <var-name>maxlength</var-name> <var-value>20</var-value> </var> </field> 注意:此处的arg0和arg1就代表了ApplicationResources文件中使用“{}”括起来的参数。比如: errors.range={0} is not in the range {1} through {2}. 定义了三个参数,所以你这里也要定义<arg0>、<arg1>、<arg2>三个参数才能完整的显示错误信息。 errors.maxlength={0} cannot be greater than {2} characters. 定义了0、2两个参数,所以你就需要定义<arg0>和<arg2>两个参数。 <field property="userName" depends="required,maxlength"> <arg0 key="prompt.userName"/> <arg2 key="${var:maxlength}" name="maxlength" resouce="false"/> <var> <var-name>maxlength</var-name> <var-value>80</var-value> </var> </field> <field property="email" depends="email"> <arg0 key="prompt.email"/> </field> </form>
required就是不能为空
<form name="registrationForm">
<field property="username"
depends="required">
</field>
<field property="password"
depends="required">
</field>
</form>
在validate.xml中引用新类型。
http://expert.csdn.net/Expert/topic/2187/2187234.xml?temp=.4471704
http://expert.csdn.net/Expert/topic/2187/2187234.xml?temp=.4471704
我看了validation.xml的例子,很好,我这里至少50分是你的了,呵呵
由于是初学,想对以下类型进行验证,那么validation.xml该如何些呢
比如只能填数字,email,字母等,那该如何实现呢,或者可以写一个通用的验证,
我记得struts好像自带这个功能的,但不知道如何使用,望再赐教!
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames" />
</plug-in>
2. 在struts-config.xml文件中添加ApplicationResources配置文件。如:
<message-resources parameter="com.dc.sibss.om.struts.ApplicationResources" />
添加此文件的作用是提供错误信息的非编程定制化和多语言支持。如果我们使用中文平台操作系统,则默认情况下将首先查找ApplicationResource_zh_CN.properties文件,然后是ApplicationResources_zh.properties,如果前两个文件没有被找到则将查找ApplicationResources.properties文件。
为了能够在页面上显示错误提示信息,我们还需要将以下内容添加到ApplicationResources.properties文件的末尾:
errors.required={0} is required.
errors.minlength={0} cannot be less than {1} characters.
errors.maxlength={0} cannot be greater than {2} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be an byte.
errors.short={0} must be an short.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.float={0} must be an float.
errors.double={0} must be an double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is an invalid e-mail address.
以上仅是struts现在支持的错误类型的错误提示信息,如果你自定义了新类型的错误验证,则还需要在此加上你自己的内容。
以上内容中的{0}指的是错误提交的参数。比如:当你需要页面上的“用户名”不能为空时(也就是上面的errors.required),这个{0}就代表“用户名”,所以如果你没有填写用户名将抛出如下错误:
用户名 is required.(你可以根据需要修改称中文)
我们可能已经注意到了,既然错误提示信息需要配置,那么上例中“用户名”系统是如何得到的呢?没错!也是通过修改此配置文件,内容如下:
visitCust.error.name.required=<br>用户名
这样当“用户名”为空时,struts后台程序将联合以上两处定义显示错误信息。
另外,上面的“visitCust.error.name.required”是在Validation.xml配置验证内容时指定的。具体见以下介绍。
注意:一般情况下,你的系统只需要一个ApplicationResources文件,所以开发组的成员不要添加自己的resource文件。只有在你的项目分组开发时才需要使用多个ApplicationResources文件,但是,同时你的struts-config.xml文件也会有相同的数量对应。
3. 创建你的ActionForm并让它继承org.apache.struts.validator.ValidatorForm类。
4. 创建你的Action实现,并和上面定义的ActionForm关联。这里需要注意的是,在定义此Action时一定将validate属性设置为true,并且在你定义的ActionForm中不要实现它的validate方法――这就意味着你将使用ValidatorForm的validate方法,这样才能保证你的错误验证正常进行。
5. 配置validation.xml文件。基本内容如下:
<form-validation>
<!-- ========== Default Language Form Definitions ===================== -->
<formset>
<form name="custGNewForm">需要验证页面上form的名字
<field property="certifiCode"需要校验的属性
depends="required,maxlength">校验内容
<arg0 key="prompt.certifiCode"/>ApplicationResource文件中对应
<arg1 key="${var:maxlength}" name="maxlength" resouce="false"/>
<var>确定最长限制的长度
<var-name>maxlength</var-name>
<var-value>20</var-value>
</var>
</field>
注意:此处的arg0和arg1就代表了ApplicationResources文件中使用“{}”括起来的参数。比如:
errors.range={0} is not in the range {1} through {2}.
定义了三个参数,所以你这里也要定义<arg0>、<arg1>、<arg2>三个参数才能完整的显示错误信息。
errors.maxlength={0} cannot be greater than {2} characters.
定义了0、2两个参数,所以你就需要定义<arg0>和<arg2>两个参数。
<field property="userName"
depends="required,maxlength">
<arg0 key="prompt.userName"/>
<arg2 key="${var:maxlength}" name="maxlength" resouce="false"/>
<var>
<var-name>maxlength</var-name>
<var-value>80</var-value>
</var>
</field>
<field property="email"
depends="email">
<arg0 key="prompt.email"/>
</field>
</form>
<form name="custGNewCheckForm">
<field property="certifiCode"
depends="required">
<arg0 key="prompt.certifiCode"/>
</field>
</form>
</formset>
</form-validation>
6. 在校验页面的<body>前添加如下内容:
<html:errors/>
log4j.appender.A2.File=D:/web/Apache Group/Tomcat 4.1/webapps/cims/WEB-INF/classes/log/Log.log这里能用相对路径么?比如当前项目的的classes目录下,我试过,没成功!