Validator框架验证 - [项目相关]

来源:互联网 发布:linux查看oracle实例名 编辑:程序博客网 时间:2024/05/23 13:29

写了一个DEMO

步骤:

第一步:准备页面文件

在页面要显示的错误信息的地方添加标签:

<html:errors property="username" /> property属性值与要验证文本框的property一样

 

第二步:设置FormBean继承ValidatorForm方法

formbean必须继承 ValidatorForm 类

 

第三步:定义Action

完成后台逻辑,无变化

 

第四步:选择验证规则validator-rules.xml

查看validator-rules.xml文件,选择验证规则

 

第五步:查看validation.xml文件

 

第六步:创建validation.xml文件

为应用中的ActionForm配置所需的验证规则,代替ActionForm类中以validate方法的方式来实现验证

 

<?xml version="1.0" encoding="utf-8" ?>

<!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>

<!--所有需要校验的form都放在formset元素中-->

<formset>

<!--定义需要验证的表单,此处的name必须与struts-config.xml中的ActionForm 的name相同-->

<form name="loginform">

<!--定义需要验证的文本域-->

<field property="username" depends="required">

<arg0 key="insert.error.name"/>

</field>

</form>

</formset>

</form-validation>

注意:

1、form元素为表单配置验证规则,name必须与struts-config.xml中的ActionForm 的name相同

2、field用于为表单字段配置验证规则,property与页面文本框的property属性名一致

3、denpends元素为改字段所采用的验证规则,如果有多个则用逗号分开

4、<msg>元素指定验证规则对应的消息文本框,将替代validator-rules.xml文件中位验证规则配置的默认消息文本。name为对应的验证

如果上面用<msg name="required" key="user.required" resource="ture" />而非

<arg0>

验证失败,规则将自动使用国际化资源文件中msg中key值指定的消息,而非默认的error.required消息.如果多了resource="false" ,则不从资源文件中获取,而是直接用key表示

第七步:修改配置文件plug-in标签

向struts-config.xml中添加validate属性

加入plug-in标签的位置必须在配置文件的最后,<message-resources>之后

 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
                                                  /WEB-INF/validation.xml"/>
      </plug-in>

资源文件中:

insert.error.name=username

error.required={0} is required

第八步:完成啦~

原创粉丝点击