`

关于ValidatorForm的validate方法

    博客分类:
  • Java
阅读更多
1、validate()方法:使自己的ActionForm继承ValidatorForm类,在里面编写自己的方法:

public ActionErrors validate (ActionMapping mapping,HttpServletRequest request) {

ActionErrors errors = new ActionErrors();

。。。。。。

if ( mytext.equals("aaa") ) {

//my exampleerrors.add("mytext",new ActionError("mytext.error"));

}

。。。。。。

return errors;

}

此时,如果写了这个方法,就会屏蔽掉在Validation.xml中定义的验证部分,换句话说就是系统运行时,Validation.xml里对应此ActionForm的定义的错误验证部分不实行,如果不写这个方法的话,系统运行时会进行Validation.xml里对应此ActionForm的定义的错误验证部分的操作。此类方法是在服务器端进行验证,验证部分代码客户端不可见。

2、创建你的ActionForm并让它继承org.apache.struts.validator.ValidatorForm类。创建你的Action实现,并和上面定义的ActionForm关联。这里需要注意的是,在定义此Action时一定将validate属性设置为true,并且在你定义的ActionForm中不要实现它的validate方法――这就意味着你将使用ValidatorForm的validate方法,这样才能保证你的错误验证正常进行。配置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>

在校验页面的<body>前添加如下内容:<html:errors/>
分享到:
评论

相关推荐

    ValidatorActionForm,ValidatorForm和ActionForm.区别

    - **无需覆盖 `validate()` 方法**:为了保证 Struts Validator 框架能够正确工作,继承自 ValidatorForm 的类不应该覆盖 `validate()` 方法,这样可以确保框架内部的验证逻辑能够正常执行。 - **配置文件支持**:...

    Validate_code.rar_struts valida_struts valida_struts validate_v

    6. **Struts Action Classes**:在执行业务逻辑之前,需要调用`validate()`方法对表单数据进行验证。 通过`struts_valida`和`struts_validate`的标签,我们可以推断这个示例可能涵盖了Struts验证框架的基本用法,...

    STRUTS validate 配置简介

    STRUTS validate 配置是Struts框架中用于表单验证的重要组成部分,它允许开发者定义一系列规则以确保用户提交的数据符合预设的标准。以下是对STRUTS validate配置的详细解释: 1. **创建继承自ValidatorForm的...

    Struts使用validation框架来实现校验,4种以上的校验规则

    然后,创建一个对应的ValidatorForm子类,覆盖`validate`方法。在`struts-config.xml`中,配置该ActionForm并关联校验规则。最后,当用户提交表单时,Struts会自动调用`validate`方法进行数据校验,并将错误信息存入...

    [浪曦原创]Struts系列 第5讲 Struts的验证框架Validate使用续一(zk001)

    在Struts中,验证框架Validate是实现业务数据验证的重要工具,它帮助开发者确保用户输入的数据符合预设的规则,从而提高应用的安全性和用户体验。 在Struts的验证框架中,验证过程通常分为两部分:客户端验证和...

    Struts_学习笔记之ActionForm

    reset()方法用于恢复ActionForm的默认值,而validate()方法用于验证用户的表单数据。这些方法的默认实现是不执行任何操作,我们可以重写这些方法来实现相关逻辑。 3. ActionForm的使用 在Struts中,ActionForm需要...

    structs中使用validator框架记事本

    `ValidatorForm`, `ValidatorActionForm`, `DynaValidatorForm`, `DynaValidatorActionForm的使用.txt`文件名可能表示这些是关于如何在Web应用(可能是基于某种MVC框架,如Gin或Beego)中使用`validator`的教程。...

    struts1验证框架相当好的经典例子

    这个类中定义了对应表单字段的属性和getter、setter方法,例如`userName`和`password`。 ```java package com.tarena.struts.validate; import org.apache.struts.validator.ValidatorForm; import org.apache....

    Struts1框架验证机制任务2

    在验证过程中,Action会调用`ValidatorForm`的`validate()`方法进行数据校验。 4. **ok.jsp**:如果验证成功,用户将会被重定向到这个页面。它显示验证成功后的信息或进一步的操作界面。 5. **struts-config.xml**...

    validator相关

    - **原理**:这种方式是通过重写`ActionForm`类中的`validate()`方法来实现的。当用户提交表单时,Struts框架会自动调用此方法来执行验证逻辑。 - **优缺点**: - **优点**:简单易用,适合于简单的验证场景。 -...

    Struts1.2动态表单验证

    4. 在Action类中:处理用户的请求,调用`validate()`方法进行验证,然后根据验证结果决定是否需要调用业务逻辑。 5. 视图层处理:在JSP页面上使用Struts标签库显示验证错误。 6. 错误消息国际化:通过资源文件提供...

    struts1.3实现的Validator简单验证

    当用户提交表单时,Struts会调用`validate()`方法,根据`validation.xml`中的规则进行验证。如果验证失败,Struts会将用户重定向到错误页面,并将错误信息添加到ActionContext中,供视图层展示。 在`validatorTest`...

    一个validator的验证程序.rar_struts_validator

    在ActionForm中,你需要声明要验证的字段,并在表单提交时调用ValidatorForm的validate()方法进行验证。如果验证失败,Struts会自动将错误信息添加到ActionMessage集合中,然后在JSP页面上显示给用户。 在JSP页面中...

    struts的输入校验

    开发者可以在ActionForm类的set方法中添加校验逻辑,或者创建一个自定义的ValidatorForm,通过validate()方法进行校验。例如: ```java public class UserForm extends ActionForm { private String username; ...

    commons-validator.doc 用法介绍

    2. 删除ActionForm中的validate方法,因为验证框架会自动处理验证逻辑。 **配置Struts** 1. 在`struts-config.xml`中的`&lt;action&gt;`标签中添加`validate="true"`属性,以启用验证,并指定错误发生时的转发地址。 2. ...

    Struts1.2中的validation验证框架的实现步骤

    这一步是必要的,因为`ValidatorForm`提供了与Validator插件交互的方法和接口。 ```java public class UserForm extends ValidatorForm { // ...字段和方法 } ``` ##### 2.2 配置Struts配置文件 在`struts-...

    用于struts中的一个LazyValidatorForm

    只有在调用`getErrors()`或`validate(HttpServletRequest)`方法时,才会加载并执行对应的验证规则。 2. 验证规则通常存储在`validation.xml`文件中,这个文件定义了每个字段的验证条件,如非空、长度限制、数据类型...

    struts1.x validator框架验证入门例子

    &lt;form-bean name="myForm" type="com.example.MyForm" validate="true"&gt; &lt;!-- 其他验证器配置 --&gt; ``` 四、自定义验证器 除了使用预定义的验证器外,还可以根据需求编写自定义的验证器。自定义验证器...

    struts1校验框架

    如果校验失败,`validate()`方法会返回一个包含错误信息的ActionErrors对象,然后将用户重定向回输入页面并显示错误信息。如果所有校验都通过,那么Action会被执行,控制权转移到`success.jsp`。 通过这种方式,...

Global site tag (gtag.js) - Google Analytics