正文

Validator 验证 - 其他2007-03-13 11:08:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hurongliang/23927.html

分享到:

struts1.2中要实现上述的两个字段比较功能可以用validwhen验证。方法如下:

<form-validation>

    <formset>

        <form name="RegistrationForm">

            <field property="emailAddress"

                    depends="required,email">

                <arg key="prompt.emailAddress"/>

            </field>

            <field property="password"

                    depends="required">

                <arg key="prompt.password"/>

            </field>

            <field property="password2"

                    depends="required,validwhen">                

                <arg position="0" key="prompt.password2"/>

                <arg position="1" key="prompt.password"/>

                <msg name="validwhen" key="error.password.match"/>

                <var>

                    <var-name>test</var-name>

                    <var-value>(*this* == password)</var-value>

                </var>

            </field>

        </form>

    </formset>

</form-validation>

n   validator框架进行验证时的一个问题是这个验证过程是封装了的,有时候你需要在验证中加入自己的操作,这时候可以通过扩展ValidatorFormDynaValidatorForm来实现。

拓展响应的FormBean,然后覆盖其validate()方法,在方法的开头调用super.validate()方法,然后就可以追加自己的操作了。

如果是静态的ValidatorFormValidatorActionForm则在

 

validate()法的开头调用super.validate()方法,然后就可以追

 

加自己的操作了。

 

如果是动态的DynaValidatorFormDynaValidatorActionForm

 

则除了跟静态的一样操作外,将struts-config.xml中的form-bean

 

元素的type属性修改为你自定义的那个扩展类。

n   本地化验证

使用formset元素的languagecountryvariant属性可以将验证与指定的国家和语言相关联。

首先定一个适合所有国家和语言的全局formset

<formset>

    <form name="LocalizedForm">

        <field property="employeeId"

                depends="required">

            <arg key="prompt.employeeId"/>

        </field>

        <field property="hourlyRate"

                depends="required,mask">

            <arg key="prompt.hourlyRate"/>

            <var>

                <var-name>mask</var-name>

                <var-value>^\d+\.\d{2}$</var-value>

            </var>

       </field>

    </form>

</formset>

然后定义一个指定国家或语言的formset:

<formset language="fr">

    <form name="LocalizedForm">

        <field property="hourlyRate"

                depends="required,mask">

            <arg key="prompt.hourlyRate"/>

            <var>

                <var-name>mask</var-name>

                <var-value>^\d+,\d{2}$</var-value>

            </var>

        </field>

    </form>       

</formset>

本地属性有以下三种:

1.  language

2.  country

3.  variant

执行时,struts根据locale对象查找对应formset。他先查找countrylanguage,如果不匹配则只查找language

n   indexedListProperty 不懂

n   page 不懂

阅读(2610) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册