快速业务通道

Struts2数据输入校验(2) —— XML验证 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Struts2数据输入校验(2) —— XML验证

时间:2011-07-22 BlogJava bacon

struts2提供了通过XML方式对输入数据进行验证的校验框架。

在与XXXAction同级的目录下,建立XXXAction-validation.xml,即为该Action的校验逻辑。

该校验XML的dtd格式文件为 http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd,具 体内容可以展开下面的代码:

<?xml version="1.0" encoding="UTF-8"?> <!--   XWork Validators DTD.   Used the following DOCTYPE.   <!DOCTYPE validators PUBLIC       "-//OpenSymphony Group//XWork Validator 1.0.2//EN"       "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> --> <!ELEMENT validators (field|validator)+> <!ELEMENT field (field-validator+)> <!ATTLIST field    name CDATA #REQUIRED > <!ELEMENT field-validator (param*, message)> <!ATTLIST field-validator    type CDATA #REQUIRED    short-circuit (true|false) "false" > <!ELEMENT validator (param*, message)> <!ATTLIST validator    type CDATA #REQUIRED    short-circuit (true|false) "false" > <!ELEMENT param (#PCDATA)> <!ATTLIST param    name CDATA #REQUIRED > <!ELEMENT message (#PCDATA)> <!ATTLIST message    key CDATA #IMPLIED >

可以看到,数据校验XML的根元素<validator>下面可以包含两种 子元素:field和 validator

1、前者field   是针对字段进行的校验;

2、后者validator 是非字段或者说全局范围的校验。

在介绍完校验是怎么回事后,后面会简单比较一下两种校验方式的区别。

一、字段校验:(field)

先看个基本示例

<validators>    <field name="username">      <field-validator type="requiredstring">        <message key="error.username.required"/>      </field-validator>    </field>      <field name="password">         <field-validator type="stringlength">        <param name="trim">true</param>        <param name="minLength">4</param>        <param name="maxLength">10</param>        <message>password should be ${minLength} to ${maxLength} characters long.</message>      </field-validator>      </field> </validators>

Struts2数据输入校验(2) —— XML验证(2)

时间:2011-07-22 BlogJava bacon

有几个地方需要注意一下的。

1、field-validator的type在哪里定义的?

struts2校验框架预设的类在包com.opensymphony.xwork2.validator.validators中,同一目录下的 default.xml中定义了field-validator中type的名称和对应的处理类。

default.xml <!-- START SNIPPET: validators-default --> <validators>    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>    <validator n

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号