`

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

    struts2官方例子7-表单验证 xml形式的验证

    struts2官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证

    struts2文件上传,与struts2-xml校验

    struts2文件上传,与xml校验 struts2文件校验可通过xml配对action的名称去校验属性的值。例如UploadAction.java中有一个book的属性。那么我可以定义一个UploadAction-validation.xml去校验这个book属性的内容。 xml的...

    struts2讲义_吴峻申

    8.2.3 Struts2输入校验出错信息的国际化配置形式 163 8.3 集合类型输入校验介绍 165 8.3.1 Struts2中单个Java对象的输入校验形式 166 8.3.2 Struts2对象集合即批量输入的校验形式 169 8.4 Struts2输入校验器大全 171...

    struts2校验器_xml格式

    使用struts2验证form表单信息_xml格式

    struts2 详解文档

    解决Struts 2配置文件无提示问题 Action名称的搜索顺序 Action配置的各项默认值 result配置的各种视图转发类型 为Action属性注入值 指定Struts 2处理的请求后缀 Struts 2的处理流程与Action的管理方式 为...

    Struts2正则表达式校验总结

    Struts2正则表达式校验总结正则表达式验证如下,注意验证框架的XML文件中如下写

    Struts2入门教程(全新完整版)

    3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何...

    struts2-login校验.rar

    用tomcat服务器,通过struts.xml写的action来操作网页之间的重定向和对login数据的校验。(分为admin和user的login网页)

    Struts:Strurs的Somp应用

    Struts 这是一些关于Struts的应用。 HelloWorld: Struts的HelloWorld InterceptorExample: 关于Struts拦截器的应用 Struts2DynsResult: 关于Struts动态返回结果的应用 ...Struts2XMLVerifier: 关于StrutsXML校验的应用

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    struts2基于xml验证(最常用的三种类型String、Date、int验证).doc

    Struts 自定义 字符串长度校验

    这个一个简单的输入校验工程,通过 struts 的 校验文件 ActionName-validation.xml 文件 和 扩展的 校验类 CheckStringLength 进行字符串长度校验。工程使用 MyEclipse 8.5 编译,可以正常运行。

    struts2入门实例2 经典入门必备

    11.Struts2_04_validate_xml 字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12....

    struts2入门实例1

    11.Struts2_04_validate_xml 字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12....

    struts2入门实例4 经典入门必备

    11.Struts2_04_validate_xml 字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12....

    struts2入门实例3 经典入门必备

    11.Struts2_04_validate_xml 字段校验和非字段校验----http://blog.csdn.net/loverszhaokai/archive/2010/12/07/6059686.aspx ----http://blog.csdn.net/loverszhaokai/archive/2010/12/03/6052056.aspx 12....

    struts2+spring整合登陆验证经典完整案例!

    启动Dos或shell窗口,进入reg_login\WEB-INF路径下,输入: ant compile -- 该命令用于编译应用。 5. 启动Tomcat服务器。 6. 系统的Login.jsp页面是登录页面,Regist.jsp页面是注册页面。

    基于 Java(SSH)+MySQL 实现(Web)的个人信息管理系统【100011128】

    Struts2+Spring3+Hibernate4集成框架,MySQL数据库搭建的个人... 要求: (1) 登录及注册页面要有输入校验,采取 struts2 的校验框架实现,即-validation.xml 配置文件的形式。 (2) 通讯录的查询功能必须支持模糊查询。

    基于AJAX技术实现Struts校验框架

    实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序。 一、引言 校验框架的根本目的是实现域校验。在Web应用程序中...

Global site tag (gtag.js) - Google Analytics