struts2视频学习记录第8 9讲
2009-03-14 01:16
351 查看
第8讲.Struts2的校验框架
配置文件名:ActionName-validation.xml
看它的定义
<?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
>
知道有两个节点</validator>和</field>必须有一个,每一个的param可以有多个message是必须的
例如对password进行验证:
<field name="password">
<field-validator type="stringlength">
<param name="trim">true</param>
<param name="minLength">6</param>
<param name="maxLength">16</param>
<message>密码长度必须在${minLength}和${maxLength}之间</message>
</field-validator>
</field>
一个字段里可写多个<field-validator type=""> </field-validator>
对多个字段进行验证要写多个
<field name="">
<field-validator type=""> </field-validator>
</field>
其中的用法可参考:type即是下面的name要设置他们属性可参考源代码
com.opensymphony.xwork2.validator.validators下的default.xml:
<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="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"/>
</validators>
name="required"(为非字符型时用 int date等) 和name="requiredstring"(针对字符),否则可能不出效果
还要注意于类型转换的错误。自己的验证的错误信息。不要重复提示做到界面友好
这一讲主要讲了验证类型是否正确,输入类型是否符合,比较简单。
第九讲:子类继承父类后,验证的时候先调用父类的局部的验证,再全局的,然后调子类的局部,子类的全局
对某个方法验证:
先 PointAction-test-validation.xml
后 PointAction-validation.xml
<validator type="requiredstring">
<param name="fieldName">username</param>
<message>用户名错误!</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">password</param>
<message>密码错误!</message>
</validator>
和filed是一样的,只是顺序不同fieldName是固定的
short-circuit是短路设置,以为,此字段验证错误,即停止下面的验证(对同一个字段)
<field name="birthday" >
<field-validator type="required" short-circuit="true">
<message>birthday不能为空!</message>
</field-validator>
<field-validator type="date">
<param name="min">1970-01-01</param>
<param name="max">2000-01-01</param>
<message>birthday必须在${min}和${max}之间</message>
</field-validator>
</field>
配置文件名:ActionName-validation.xml
看它的定义
<?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
>
知道有两个节点</validator>和</field>必须有一个,每一个的param可以有多个message是必须的
例如对password进行验证:
<field name="password">
<field-validator type="stringlength">
<param name="trim">true</param>
<param name="minLength">6</param>
<param name="maxLength">16</param>
<message>密码长度必须在${minLength}和${maxLength}之间</message>
</field-validator>
</field>
一个字段里可写多个<field-validator type=""> </field-validator>
对多个字段进行验证要写多个
<field name="">
<field-validator type=""> </field-validator>
</field>
其中的用法可参考:type即是下面的name要设置他们属性可参考源代码
com.opensymphony.xwork2.validator.validators下的default.xml:
<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="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"/>
</validators>
name="required"(为非字符型时用 int date等) 和name="requiredstring"(针对字符),否则可能不出效果
还要注意于类型转换的错误。自己的验证的错误信息。不要重复提示做到界面友好
这一讲主要讲了验证类型是否正确,输入类型是否符合,比较简单。
第九讲:子类继承父类后,验证的时候先调用父类的局部的验证,再全局的,然后调子类的局部,子类的全局
对某个方法验证:
先 PointAction-test-validation.xml
后 PointAction-validation.xml
<validator type="requiredstring">
<param name="fieldName">username</param>
<message>用户名错误!</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">password</param>
<message>密码错误!</message>
</validator>
和filed是一样的,只是顺序不同fieldName是固定的
short-circuit是短路设置,以为,此字段验证错误,即停止下面的验证(对同一个字段)
<field name="birthday" >
<field-validator type="required" short-circuit="true">
<message>birthday不能为空!</message>
</field-validator>
<field-validator type="date">
<param name="min">1970-01-01</param>
<param name="max">2000-01-01</param>
<message>birthday必须在${min}和${max}之间</message>
</field-validator>
</field>
相关文章推荐
- struts2视频学习错误记录1-7讲
- Open CV学习记录(十六)—从视频中取每一帧保存
- 学习编程一些思想的视频记录
- 记录学习的点滴(Struts2的Action配置)
- >Struts2由浅入深学习视频教程(46集)
- Spring视频学习(十六)集成Struts2
- 视频学习记录
- Struts2 学习记录-1--Struts2中的配置文件
- S02-45 struts2 最新漏洞 学习记录
- Struts2学习记录-Value Stack(值栈)和OGNL表达式
- HTML5学习记录一:播放视频,音频和拖放
- Struts2 学习记录(2)
- 我的 CSDN 博客目录索引(主要记录了我学习视频、书籍的笔记,持续更新中)
- struts2的dojo插件一些学习记录
- Android学习记录--音频视频播放
- struts2学习总结(风中叶老师的视频)
- 扫地僧C++视频学习记录
- Struts2的输入校验流程(学习记录)
- struts2学习记录
- struts2学习记录