struts-validator绝对新手入门教学

来源:互联网 发布:护肤品淘宝代购店推荐 编辑:程序博客网 时间:2024/05/01 19:34
在这里,写得都是我亲身经历过的自学的,用struts-validator的一些问题及经验.对新手绝对有用.高手可以跳过了.谢谢.

首先,我这里说的版本是针对struts1.1以上的.

步骤:

1.导入你的2个重要的文件.一般IDE会帮你生成.但这里还是要说一下.validator-rules.xml和validation.xml.放到WEB-INF下

   这里稍微解释一下.第一XML文件主要定义校验器对应的规则和配置,第二个XML则是我们的WEB对应的校验器的配置.对于新手入门.第一个文件我们除了导入..没啥用了.除非你打算自己写校验器.第二个文件很重要.时常要我们手动配置的.

2.打开你们的struts-config.xml文件.在里面加入如下一段话:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property
            property="pathnames"
        value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
   这是因为你需要为你的WEB程序添加这个框架.

3.开始创建你的FORM和ACTION吧!记得FORM一定要继承带有Validator的那2个父类哦!

4.这时.在你们的struts-config.xml中.应该看到了刚才建立的FORM和ACTION的配置了吧?
  OK!在<action-mapping>中,为你的ACTION添加一个属性 validate="true".这表明你使用validator框架带来的校验功能.

5.在你的validation.xml文件中.添加<formset>里面的内容是什么呢?下面我会贴出代码给以解释:
<?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>

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

    <global>

        <!-- An example global constant
        <constant>
            <constant-name>postalCode</constant-name>
            <constant-value>^/d{5}/d*$</constant-value>
        </constant>
        end example-->

    </global>

    <formset>

        <!-- An example form -->
        <form name="logonForm">
            <field    <!--
标签里的就是我们要校验的字段,或者叫域.(最痛恨那么多叫法了) -->
                property="userName" <!-- 制定在FORM中的域的名字 -->
                depends="required,minlength"><!-- 这个属性指定需要用到的校验器名字 -->
                <msg  <!-- MSG属性指定 校验器 NAME,出错时,所用到的对应资源文件里键 KEY 的消息 -->
                    name="required"
                    key="errors.userName.required"/>
                <msg
                    name="minlength"
                    key="errors.userName.minlength"/>
                    <arg0 key="logonForm.userName"/><!-- 你可以给你的校验器发送最多4个参数,用于填补KEY中的参数位置 -->
                <var>
                    <var-name>minlength</var-name>
                    <var-value>8</var-value>
                </var>
            </field>
        </form>

    </formset>

</form-validation>

代码是有点长...不过没关系!我相信我的解释已经很明白了.各位很聪明.都懂.我很高兴!

6.添加你所要的消息在你的资源文件中,就是那个applicationRecouses.properties文件.这里不详细说了.
  还有一点忘记说的是.打开你们的FORM,在validate()方法里,不要写自己的校验方法.写上这句:
         return super.validate(mapping, request);
  这句话用于让validator框架帮你校验,并返回错误消息.当然可以加入自己的校验.不过这里给新手,不详细说了.  

到此为止.你的服务端验证已经OK啦!接着呢?

7.打开你的JSP文件.
在需要的地方添加<html:errors/>这个不用我说了吧?

最主要的是.现在我们开始来客户端的验证咯!

在你的<html:form>标签中加入这个属性  onsubmit="return validateLogonForm(this)",相信大家都知道了...LogonForm可以随你替换成你自己建立的FORM.

然后再</html>标记前添加  <html:javascript formName="logonForm"/>.OK!

你的客户端JAVASCRIPT校验完成了!

限于我赶时间.如有不明白的.可以加我QQ...104024786.记得说明哦!
原创粉丝点击