`

Struts2(7):Struts2的输入校验框架(xml配置文件校验)

阅读更多

上一节使用了Action类中的validate方法进行校验,此种校验方式适合较为复杂的校验情况。而本节将介绍使用配置文件的校验方式!

在xwork.jar包的com.opensymphony.xwork2.validator.validators目录下有一个default.xml文件。这里面定义了许多struts2的预设的校验器。

1,RegisterAction-validation.xml。放在与action同一目录下,知名得义,不难理解

     如果要给action中的方法abc校验,则文件名可以这样命名:RegisterAction-abc-validation.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<!--此文件必须和RegisterAction.java在同一个目录下-->
<!--对应的type定义都在xwork.jav包下的com.opensymphony.xwork2.validator.validators.default.xml文件 -->
<validators>
	<field name="username">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>username should not be blank!</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>username should be between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>
	
	<field name="password">
		<field-validator type="requiredstring">
			<message>password should not be null</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>password should between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>
	<field name="repassword">
		<field-validator type="requiredstring">
			<message>repassword should not be null</message>
		</field-validator>
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>repassword should be between 6 and 10</message>
		</field-validator>
	</field>
	<field name="age">
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<message>age should be between 1 and 150</message>
		</field-validator>
	</field>
	<field name="birthday">
		<field-validator type="required">
			<message>birthday should not be blank!</message>
		</field-validator>
		<field-validator type="date">
			<param name="min">1998-12-12</param>
			<param name="max">2009-12-12</param>	
			<message>the birthday should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	<field name="graduation">
		<field-validator type="required">
			<message>graduation should not be blank!</message>
		</field-validator>
		<field-validator type="date">
			<param name="min">2005-12-12</param>
			<param name="max">2007-12-12</param>	
			<message>the graduation should be between ${min} and ${max}</message>
		</field-validator>
	</field>
</validators>

 这些都是filedError,客户端需使用<s:fielderror/>来接收错误提示。

如果在action中存在validate方法,则两边都会执行,即会执行配置文件中的校验也会执行validate中的校验,建议不重写validate中的校验。

 PS:如果存在子action继承父action的情况,那么校验的顺序会如何呢?如下情况

父类action

ParentAction{
         public void test()
}

 其校验文件是

ParentAction-validation.xml
ParentAction-test-validation.xml

子类action

ChildAction extends ParentAction{
         public void test()
}

 其校验文件是

ParentAction-validation.xml
ParentAction-test-validation.xml

 则执行顺序是,先执行父类中的ParentAction-validation.xml,ParentAction-test-validation.xml
再执行子类中的ParentAction-validation.xml,ParentAction-test-validation.xml


分享到:
评论

相关推荐

    Struts2输入校验总结

    综上所述,Struts2的输入校验机制不仅支持基本的手动校验,还提供了高度可配置和扩展的验证框架,使得开发者能够根据应用的具体需求,灵活地实现各种校验逻辑,从而提升应用程序的质量和用户体验。

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    struts2输入校验

    - **配置**:在`struts.xml`配置文件中启用JSR 303支持,添加`&lt;constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" /&gt;`。 4. **自定义校验器**: 如果默认的...

    Struts2的输入校验

    Struts2的输入校验配置主要通过XML文件进行,这个文件通常命名为`&lt;Action-name&gt;-validation.xml`,并放置在与Action类相同的包内。例如,一个名为`RegistAction`的Action对应的校验文件可能是`RegistAction-...

    Struts2自定义校验框架

    - XML配置:在`struts.xml`或相应的Action配置文件中,使用`&lt;validators&gt;`标签定义自定义校验器,通过`&lt;field-validator&gt;`指定需要应用该校验器的字段。 - 注解配置:在Action类的属性上使用自定义注解,通过注解...

    Struts2 校验器

    Struts2的校验框架是基于Apache Commons Validator库的,它允许开发者定义一系列的验证规则来检查用户的输入。这些规则可以是简单的数据类型检查,如非空、长度限制,也可以是复杂的业务逻辑校验。校验过程通常分为...

    struts2中的输入校验

    - **XML配置文件**:Struts2支持基于XML的校验配置文件,分为局部校验配置文件和全局校验配置文件。局部校验文件针对单个Action类,而全局校验文件适用于整个应用。配置文件内容包括字段校验(field validation)和...

    struts2的输入校验

    struts2的输入校验有两种方式: 一.重写validate()方式 二.采用配置文件的方式 先我们就以一个简单的登录的例子来讲解这个吧. 重点讲解下,第二个采用配置文件的方式: 1.添加一个xml的校验文件,保存在...

    struts2校验框架

    Struts2校验框架的配置文件通常命名为`validation.xml`,并遵循特定的DTD格式。例如,以下是一段典型的校验配置示例: ```xml &lt;!DOCTYPE validators PUBLIC "-//OpenSymphonyGroup//XWork Validator 1.0.2//EN" ...

    struts2输入校验深入总结

    Struts2集成了Apache Commons Validator,可以通过配置XML文件定义校验规则。在struts.xml文件中配置`&lt;validators&gt;`元素,然后在Action类中创建一个ValidatorForm对象,将表单字段映射到该对象的属性,即可应用预...

    Struts2的校验框架

    3. **校验配置文件**:XML校验文件(如`validation.xml`)用于定义字段的验证规则,例如: ```xml 用户名不能为空 ``` 或者使用注解的方式直接在Action类的字段上定义验证规则,例如: ```java ...

    struts2校验框架使用心得.txt

    为了使用Struts2框架,首先需要在项目的`web.xml`文件中配置过滤器。下面的示例展示了如何添加Struts2过滤器: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher ...

    Struts2 输入校验

    Struts2集成Apache Commons Validator,允许开发者创建XML配置文件来定义校验规则。在这些XML文件中,你可以设置字段的校验规则,如长度、格式等。然后在Action类中声明对应的ActionForm,Struts2会基于这些规则进行...

    struts2输入校验总结

    总结,Struts2的输入校验机制提供了手动和自动两种方式,结合配置文件和内置校验器,能够实现灵活且强大的数据校验,有效地防止了非法数据的流入,提升了系统的安全性。在实际开发中,开发者可以根据业务需求选择...

    struts2校验器与校验框架精彩学习笔记

    "04校验框架.doc"可能涵盖了Struts2校验框架的基本用法,包括XML配置、自定义校验规则、错误处理等方面的内容。而"03输入校验.doc"则可能侧重于实际的用户输入验证,探讨如何通过校验器确保用户提交的数据符合预期。...

    struts2 校验框架

    - Struts2允许通过XML配置文件定义校验规则,这些规则与Action类关联。在`struts.xml`中,你可以使用`&lt;validate&gt;`标签来指定一个Action对应的校验文件。 2. **校验文件**: - 校验规则通常存储在`.validate.xml`...

    Struts2的输入校验实例代码

    配置校验是通过XML配置文件(通常是`struts.xml`)进行的。这种方式允许你声明式地定义校验规则,而无需修改Action类的代码。在配置文件中,你可以指定校验的字段、校验规则以及错误消息。 5. **示例代码**: 在`...

Global site tag (gtag.js) - Google Analytics