您的位置:首页 > 编程语言 > Java开发

struts Validator框架校验说明

2009-12-18 17:59 405 查看
Struts1.1及以上版本在提供了表单输入自动验证的功能,即使用Validator验证框架。

在使用Validator验证框架时,需要用到二个基于XML的配置文件进行验证规则的配置,一个是validator-rules.xml,另一个是validation.xml。

这两个文件应该部署在相应的WEB应用中的WEB-INF文件夹下。此外validator还应在struts-config.xml中进行配置。

在Struts-config.xml中配置Validator

Validator框架是作为一个Struts插件配置到Struts应用中的,即Struts扩展中的PlugIn机制。

通过在Struts配置文件中 配置Validator插件,Struts应用在启动的时候就能够知道Validator框架正在被使用,加载并初始化Validator框架。

以下为示例:

<!-- 验证插件 -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"  value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
<set-property property="stopOnFirstError"  value="false" />
</plug-in>


validation.xml的配置



validation.xml文件是Validator框架需要的另一个配置文件。该文件是特定于应用程序 的,由开发人员自己来创建。

它描述了那些具体应用中的ActionForm所使用的validator-rules.xml文件中的有效性验证规则。

通过 ActionForm在validation.xml文件中配置所需要的验证规则,开发人员就不必将 验证的逻辑硬编码ActionForm的内部。

一个简单的validation.xml文件代码如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

<form-validation>

<!--
This is a minimal Validator form file with a couple of examples.
-->

<global>
</global>
<formset>
<!-- check-->
<form name="loginForm">
<field
property="userID"
depends="required">
<msg name="required" key="errors.userID" />
</field>
<field
property="password"
depends="required,mask">
<msg name ="required" key="errors.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>


ApplicationResources资源文件message内容定义如下:

# -- standard errors --
errors.header = <UL>
errors.prefix = <LI>
errors.suffix = </LI>
errors.header = <font color="#FF0000">
errors.footer = </font>
# -- error message --
global.error.message = システムエラーが発生しました、業務を終了してください。
errors.userID = ユーザIDを入力してください。
errors.password = パスワードを入力してください。
errors.login = ユーザIDまたはパスワードが間違い。
errors.buy = 商品数量を入力してください。
errors.input = 商品数量に半角数字を入力してください。


如果是动态Form的话,Struts-config.xml配置文件中的DynaActionForm配置如下:

<!-- 动态FORM演示                         -->
<form-bean name="dynaFormForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="userID" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>


最后,在页面端加上<html:errors/>标签即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: