struts2框架验证(xml方式):
    * 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法
    
    * 创建一个xml格式验证文件:
        * 命名方式:ActionClassName-validation.xml,ActionClassName指的是动作类action的名称
        * <validators>标签:根元素
        * field:指定action中要校验的属性,实际上就是页面中表单的name属性的值
            * name:指定页面中表单的name属性的值
        * field-validator:指定验证规则
            * type:指定验证规则名称,
                    struts2框架提供的验证规则放在xwork-core-xxx.jar
                    下的com\opensymphony\xwork2\validator\validators
                    的default.xml配置文件。
        * param:向底层的验证规则传递的参数
        * message:验证失败时,提供的错误提示信息
    
    * 如果要对指定方法进行验证的话:
        * xml验证文件的命名方式:ActionClassName-ActionName-validation.xml,
                                ActionName对应的是struts.xml文件对应的action标签的name属性的值

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<!--
field:指定action中要校验的属性,实际上就是页面中表单的name属性的值
* name:指定页面中表单的name属性的值
-->
<field name="username">
<!--
field-validator:指定验证规则
* type:指定验证规则名称,
struts2框架提供的验证规则放在xwork-core-xxx.jar
下的com\opensymphony\xwork2\validator\validators
的default.xml配置文件
-->
<field-validator type="requiredstring">
<!--
param:向底层的验证规则传递的参数
-->
<param name="trim">true</param>
<!--
message:验证失败时,提供的错误提示信息
-->
<message><![CDATA[用户名不能为空]]></message>
</field-validator>
</field>
<field name="pwd">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message><![CDATA[密码不能为空]]></message>
</field-validator>
<field-validator type="regex">
<param name="trim">true</param>
<param name="expression"><![CDATA[^[0-9a-zA-Z]{6,12}$]]></param>
<message><![CDATA[密码的长度必须在6至12之间!]]></message>
</field-validator>
</field>
</validators>

required: 确保某给定字段的值不是空值 null
requiredstring: 确保某给定字段的值既不是空值 null, 也不是空白.
  ·trim 参数. 默认为 true, 表示 struts 在验证该字段值之前先剔除前后空格.
stringlength: 验证一个非空的字段值是不是有足够的长度.
  ·minLength: 相关字段的最小长度. 若没有给出这个参数, 该字段将没有最小长度限制
  ·maxLength:相关字段的最大长度. 若没有给出这个参数, 该字段将没有最大长度限制
  ·trim: 在验证之前是否去除前后空格
int: 检查给定字段的值是否可以被转换为一个整数
  ·min: 相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
  ·max: 相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
date: 确保某给定日期字段的值落在一个给定的范围内
  ·max:相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
  ·min:相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
email: 检查给定 String 值是否是一个合法的 email
url: 检查给定 String 值是否是一个合法的 url
regex: 检查某给定字段的值是否与一个给定的正则表达式模式相匹配.
  ·expresssion*: 用来匹配的正则表达式
  ·caseSensitive: 是否区分字母的大小写. 默认为 true
  ·trim: 是否去除前后空格. 默认为 true
conversion(转换校验器,指定在类型转换失败时,提示的错误信息)
visitor(用于校验action中的复合属性,它指定一个校验文件用于校验复合属性中的属性)
expression(OGNL表达式校验器,expression参数指定ognl表达式,该逻辑表达式基于ValueStack进行求值,返回true时校验通过,否则不通过,该校验器不可用在字段校验器风格的配置中)
double(双精度浮点数校验器,要求field的双精度浮点数必须在指定范围内,min指定最小值,max指定最大值)

Struts2 框架验证的更多相关文章

  1. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  2. 自己定义验证器——用Struts2框架以框架师的思维灵活做好该事情

    面对的问题:自己定义一个18位身份验证器.编写验证器.在validators.xml文件里进行注冊.在验证配置文件里使用? 第一部分:理解Struts2中自带的验证器 第二部分:如何通过server( ...

  3. 【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】

    一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Act ...

  4. 搭建一个简单的Struts2框架

    1  创建一个web项目. 2 导入必要的JAR文件. 放在WEB-INF下lib包里. 3 添加web.xml配置,添加启动配置. <?xml version="1.0" ...

  5. Struts2框架具体解释

    在Struts2的Model-View-Controller模式实现下面五个核心组件: 动作-Actions 拦截器-Interceptors 值栈/OGNL 结果/结果类型 视图技术 Struts ...

  6. Struts2 手动验证

    * 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法        * 要继承ActionSupport类或者实现Validateable接口 ...

  7. [ SSH框架 ] Struts2框架学习之一

    一.Struts2框架的概述 Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中.目前掌握 Struts2框架几乎成为 ...

  8. Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)

    1. spring整合struts的基本操作见我的博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2框架整 ...

  9. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

随机推荐

  1. LINQ to SQL 建立实体类

    使用LINQ to SQL时,需要首先建立用于映射数据库对象的模型,也就是实体类.在运行时,LINQ to SQL 根据LINQ表达式或查询运算符生成SQL语句,发送到数据库进行操作.数据库返回后,L ...

  2. plugin

    http://wicky.nillia.ms/headroom.js/ http://makotot.github.io/sidebar/ http://www.nodebeginner.org/in ...

  3. MYSQL主从同步测试

    参考: http://www.cnblogs.com/zgx/archive/2011/09/13/2174823.html 注意选建同步用户,其它的都按步就搬. 还有,不要让IPTABLES坏事,开 ...

  4. 多线程 Worker Thread 模式

    Worker是“工人”的意思,worker thread pattern中,工人线程(worker thread)会一次抓一件工作来处理,当没有工作可做时,工人线程会停下来等待心得工作过来. Work ...

  5. 【数学】HDU 5761 Rower Bo

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5761 题目大意: 船在(0,a),船速v1,水速v2沿x轴正向,船头始终指向(0,0),问到达(0, ...

  6. Eclipse无法设置NDK路径的解决方法

    如果在Eclipse中设置NDK路径的时候遇到下面的情况(尼玛,我的NDK设置呢?): 可以参考百度经验解决:http://jingyan.baidu.com/article/4d58d5413000 ...

  7. [LeetCode] 30. Substring with Concatenation of All Words 解题思路 - Java

    You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...

  8. Byte[]、Image、Bitmap_之间的相互转换

    1.将图片Image转换成Byte[] /// <summary>        /// 将图片Image转换成Byte[]        /// </summary>     ...

  9. android的intent打开系统程序

    打开设置主界面 Intent intent = new Intent(Android.provider.Settings.ACTION_SETTINGS); //系统设置 startActivityF ...

  10. jQuery(二)

    jQuery学完了!好用! 1.用定时器做的jquery里面的animate效果 <!DOCTYPE html> <html lang="en"> < ...