Struts2数据校验(2)--使用XWork检验框架实现校验
2017-02-28 18:37
435 查看
2.使用XWork检验框架实现校验
通过XWork的validator框架也可以进行Struts2的数据校验,使用XWork的validator框架实现数据校验,只需编写一个验证文件便可。1.验证文件
验证文件由两种:一种是actionName-validation.xml,actionName是需要校验的Action的类名,且需要放到和该类相同的路径下,这种校验和validate()方法的作用相同;另一种是actionName-methodName-validation.xml,actionName是需要校验的Action的类名,methodName是Action中某个业务处理方法的方法名,且需要放到和该类相同的路径下,这种校验和validateX()方法的作用相同。
2.校验配置
(1)字段校验方式(Field-validator)采用字段验证方式时,field是作为基本的子元素。
l validators:校验文件的根元素;
l field:是validators元素下的元素,name属性指定了被校验的字段;
l field-validator:field元素下的元素,type属性用来指定校验器的名称,每个field-validator元素都可以指定一个校验规则且每个field-validator属性都必须包含一个message元素;
l message:field-validator元素下的必备元素,该元素指出校验出错后的提示信息;
l param:field-validator元素下的元素,该元素指定了校验过程中使用到的参数。
示例如下:
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="name"> <field-validator type="requiredstring"> <message>the name is requred!</message> </field-validator> </field> <field name="age"> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>the age must be from 1 to 150!</message> </field-validator> </field> </validators> |
采用非字段校验方式时,validator元素是它的基本单位,每个validator元素指定一个校验规则。
l validators:校验文件的根元素;
l validator:validators元素下的元素,type属性指定了校验器的名称。一般情况下,该元素应该包含子元素<param name=”filedName”>以指定被校验的Action名。
l param:validator元素下的元素。
示例如下:
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <validator type="int"> <param name="fieldName">age</param> <param name="min">1</param> <param name="max">150</param> <message>the age must be from 1 to 150!</message> </validator> <validator type="email"> <param name="fieldName">email_address</param> <message>The eamil address you entered is not valid.</message> </validator> </validators> |
3.校验器(validator)
字段校验方式和非字段校验方式校验方式,都需要用到校验器,下面就介绍一些常用的校验器。(1) required校验器:要求指定的字段必须是非空的;
required字符校验方式:
<validators> <field name="name"> <field-validator type="required"> <message>the name is required!</message> </field-validator> </field> </validators> |
<validators> <validator type="required"> <param name="fieldName">name</param> <message>the name is required!</message> </validator> </validators> |
requiredstring字符校验方式:
<validators> <field name="name"> <field-validator type="requiredstring"> <message>the name is required!</message> </field-validator> </field> </validators> |
<validators> <validator type="requiredstring"> <param name="fieldName">name</param> <message>the name is required!</message> </validator> </validators> |
int字符校验方式:
<validators> <field name="age"> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>the age must be from 1 to 150!</message> </field-validator> </field> </validators> |
<validators> <validator type="int"> <param name="fieldName">age</param> <param name="min">1</param> <param name="max">150</param> <message>the age must be from 1 to 150!</message> </validator> </validators> |
date字符校验方式:
<validators> <field name="birthday"> <field-validator type="date"> <message>The date you entered is not valid.</message> </field-validator> </field> </validators> |
<validators> <validator type="date"> <param name="fieldName">birthday</param> <message>the name is requred!</message> </validator> </validators> |
email字符校验方式:
<validators> <field name=" email_address "> <field-validator type=" email "> <message> The eamil address you entered is not valid.</message> </field-validator> </field> </validators> |
<validators> <validator type="email"> <param name="fieldName">email_address</param> <message>The eamil address you entered is not valid.</message> </validator> </validators> |
stringlength字符校验方式:
<validators> <field name="name"> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">20</param> <message>the name must be from 6 to 20 char!</message> </field-validator> </field> </validators> |
<validators> <validator type="stringlength"> <param name="fieldName">name</param> <param name="minLength">6</param> <param name="maxLength">20</param> <message>the age must be from 6 to 20 char!</message> </validator> </validators> |
<validators> <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> </validators> |
相关文章推荐
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
- 使用Struts2验证框架实现输入校验
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
- 使用Struts2验证框架实现输入校验
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
- struts2:数据校验,通过XWork校验框架实现(validation.xml)
- struts2中validation校验框架的原理和使用
- struts2中validation校验框架的原理和使用
- Struts2校验的两种实现方式(使用内置校验和手动编写)
- 使用jquery-validationEngine框架,4步实现前端JS校验
- struts2中使用validation框架进行校验的注意事项
- JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置
- 使用jquery-validationEngine框架,4步实现前端JS校验
- Struts2使用OGNL和校验框架
- Struts2拦截器之使用拦截器模拟实现登陆校验
- S6.2_Struts2_Validation ~ S6.5_Struts2_Validation 使用Validation框架实现验证的4种方式
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- 【SSH三大框架】Struts2基础第八篇:Struts2用AJAX实现JSON插件的使用
- 使用jquery-validationEngine框架,4步实现前端JS校验