Struts使用Validator
Validator框架是一种可插拔的系统,validator-rules.xml文件用于以声明的方式插入执行验证时validator将要使用的验证例程。
启用Validator插件
struts-config.xml文件里加入
<!-- =================================================== Validator plugin -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/config/validator-rules.xml,/WEB-INF/config/validation.xml"/>
</plug-in>
配置validator-rules.xml
<form-validation>
<global>
<validator name="required"
classname="org.apache.struts.validator.FieldChecks"
method="validateRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
javax.servlet.http.HttpServletRequest"
msg="errors.required"/>
<validator name="mask"
classname="org.apache.struts.validator.FieldChecks"
method="validateMask"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
javax.servlet.http.HttpServletRequest"
depends=""
msg="errors.invalid"/>
</global>
</form-validation>
创建FormBean
要使用Validator,应用程序的Form Bean必须是Validator的ActionFormde的子类而不是使用ActionForm类本身。
/*
* Created on 2005/06/18
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.nova.colimas.web.form;
import org.apache.struts.validator.ValidatorForm;
/**
* @author tyrone
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginForm extends ValidatorForm {
private String password;
private String userID;
public void Reset() {
this.password="";
this.userID="";
return;
}
/**
* @return Returns the UserID.
*/
public String getUserID() {
return userID;
}
/**
* @param UserID The UserID to set.
*/
public void setUserID(String property1) {
this.userID = property1;
}
/**
* @return Returns the Password.
*/
public String getPassword() {
return password;
}
/**
* @param Password The Password to set.
*/
public void setPassword(String property1) {
this.password = property1;
}
}
struts-config.xml里声明FormBean
<!--2 Login formbean-->
<form-bean
name="LoginForm"
type="com.nova.colimas.web.form.LoginForm"/>
配置validator.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.
-->
<formset>
<form name="LoginForm">
<field
property="userID"
depends="required">
<arg0 key="LoginForm.userid"/>
</field>
<field
property="password"
depends="required,mask">
<arg0 key="LoginForm.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
配置资源文件
struts-config.xml
<message-resources parameter="resources.config.index" />
index.properties
#error
errors.invalid={0} is invalid.
errors.required={0} is required.
#key
LoginForm.userid=User ID
LoginForm.password=Password
启动验证Index.jsp
<html:form action="/LoginAction.do">
<p><span class="style15"><bean:message key="index.jsp.userid" /></span><input
type="text" name="userID/><br>
<span class="style15"><bean:message key="index.jsp.pass" /></span><input type="password" name="password"/><br>
<html:submit>
<bean:message key="index.jsp.login" />
</html:submit></p>
<html:errors />
</html:form>
验证出错后,返回action的input属性值的页面,错误显示在<html:errors />位置。
例如struts-config.xml如下,则会显示在"/pages/index.jsp"
<action path="/LoginAction"
type="com.nova.colimas.web.action.LoginAction"
name="LoginForm"
scope="session"
input="/pages/index.jsp"
validate="true">
<font-size: 10pt; background: white
分享到:
相关推荐
Struts的Validator框架是Java Web开发中用于处理用户输入验证的一种强大的工具,它与MVC架构中的控制器层紧密结合,提供了一种便捷的方式来确保用户提交的数据符合预设的业务规则。这个框架大大简化了数据验证的过程...
在本文中,我们将深入探讨如何在Struts中使用Validator框架,并通过三个逐步进阶的实例来理解其工作原理。 首先,我们来看第一个实例——Validator_Struct_01。在这个基础案例中,我们将了解如何设置基本的...
Struts的Validator-rules是Apache Struts框架的一个关键组件,主要用于处理Web应用中的表单验证。这个组件使得开发者能够方便地定义和实现客户端与服务器端的数据验证规则,从而确保用户输入的数据符合业务逻辑的...
struts中自定义validator验证 <br>很多时候需要验证“密码”与“重复密码”是否一致,如果放在服务器端验证就浪费资源了。 如何在客户端进行验证...JS可以实现,但是struts的validator框架是否能实现呢?-见示例
除了Struts,Struts Validator还可以与其他MVC框架(如Spring MVC)结合使用,通过适配器或AOP机制实现验证逻辑的共享。 7. **最佳实践** - 将验证逻辑与业务逻辑分离,以保持代码的清晰性和可维护性。 - 使用...
在使用Struts Validator时,首先要引入必要的库文件,包括struts-core、struts-validator和相应的JAR包。然后,你需要创建一个ValidatorRule.xml文件,这个文件会定义各种验证规则,比如字段名称、必须条件、错误...
本文将详细介绍Struts验证器Validator的使用,包括基础配置、自定义验证器的创建,以及如何在Maven项目中管理和使用Eclipse进行编译。 **一、Struts验证器Validator的基本概念** Struts Validator是Struts框架提供...
这篇教程将带你深入了解如何使用Struts的Validator框架。 一、Struts Validator框架概述 Struts Validator框架是Apache Struts项目的一部分,它是基于Apache Commons BeanUtils和Digester库构建的。其核心功能是...
要使用Struts Validator,首先需要在项目中包含特定的JAR文件,包括`jakarta-oro.jar`和`commons-validator.jar`。这些库为验证功能提供了基础支持。此外,Struts Validator还依赖于两个XML配置文件:`validator-...
### Struts1的Validator验证框架详解 ...然而,随着技术的发展,现代Web应用可能更倾向于使用Spring MVC、AngularJS等新兴框架,但Struts1的Validator框架依然有其不可替代的价值,特别是在遗留系统维护和优化方面。
下面我们将详细介绍Struts1.3中Validator的使用和与Struts1.2的区别。 1. 配置文件:在Struts1.3中,Validator的配置通常位于`validation.xml`文件中,这里定义了验证规则和错误消息。每个ActionForm对应一个验证...
在这个实例和文档中,我们将深入探讨Struts Validator的工作原理、配置以及如何在实际项目中使用。 首先,Struts Validator是基于XML的,开发者可以定义一套验证规则,这些规则存储在`validation.xml`文件中。这些...
这段代码指示 Struts 使用 `ValidatorPlugIn` 类,并指定了两个配置文件的位置:`validator-rules.xml` 和 `validation.xml`。`validator-rules.xml` 文件定义了各种预置的验证器,而 `validation.xml` 文件则根据...
在这个入门例子中,你可以创建一个简单的表单,使用Struts1.x的Validator框架进行验证。首先创建表单HTML页面,然后编写对应的ValidatorForm和Action,最后配置struts-config.xml和ValidatorRule.xml。运行项目,...
### Struts Validator 验证器使用指南:深入解析与实践 #### 一、Struts Validator 简介 Struts Validator框架是Struts框架的重要组成部分,用于实现客户端和服务器端的数据验证。自0.5版以来,Struts Validator就...
在描述中提到的"struts2 plus是方便了struts2 validator的应用",这指的是Struts2 Plus对Struts2的内置验证框架进行了优化和增强。Struts2 Validator是Struts2中用于处理用户输入数据验证的组件,它允许开发者定义一...
Struts 1.1 Validator 校验实例 完全代码, 直接工程 导入 <br>参考 Struts in action 上面修改!!!
Struts的Validator框架是Java Web开发中用于进行数据验证的重要工具,它基于Apache Struts框架,为MVC(Model-View-Controller)架构提供了一种强大的验证机制。Validator框架允许开发者定义验证规则,并在用户提交...
在Bean的属性上使用`@Validate`注解(如果使用的是Struts-Validator框架,否则是JSR-303或JSR-349的注解)来指定验证规则。 4. **配置Struts配置文件**:在`struts-config.xml`中,配置ActionForm指向刚刚创建的...
在这个压缩包的文件列表中,很可能是各个视频文件,详细讲解了如何配置和使用Struts的Validator组件,包括: - 如何设置Validator规则文件 - 如何创建验证所需的Java表单bean - 如何在struts-config.xml中配置动作...