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. 关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理

    我的一个程序,用到的后台数据库MySql,字段是Varchar,Character Set是utf8,字段能且已经正确存储了中文. 从数据库取出信息后,在后台Java代码里Debug看到正确的中文. ...

  2. iOS开发之WKWebView简单使用

    iOS开发之WKWebView简单使用   iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版. ...

  3. grunt serve Fatal error: Port 35729 is already in use by another process.

    y@y:~$ lsof | grunt y 0t0 TCP *: (LISTEN) Optimizin y 0t0 TCP *: (LISTEN) v8:Sweepe y 0t0 TCP *: (LI ...

  4. 使用JQUERY实现局部页面定时刷新

    没办法,运维会一点点前端,还是有好处的.. 说不定,BOOTSTRAP也得会一点点.. 本想用流式输出的搞定的,但没搞定,就取巧了... 代理简单: <script src="//cd ...

  5. BZOJ1646: [Usaco2007 Open]Catch That Cow 抓住那只牛

    1646: [Usaco2007 Open]Catch That Cow 抓住那只牛 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 634  Solved ...

  6. fg bg 等命令

    fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的 一.& 最经常被用到 这个用在一个命令的最后,可以把这个命令 ...

  7. 【转】android去掉EditView的默认焦点问题

    原文网址:http://www.111cn.net/sj/android/54680.htm 做一个输入框时发现android中EditView的默认焦点了,这种问题如果是在输入框还好,但在搜索页面或 ...

  8. RMQ——窗口题解

    题目:窗口 描述: [问题描述] 给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: Window position Min val ...

  9. Robot Framework selenium2library 常用关键字

    Selenium Library SeleniumLibrary is a Robot Framework test library that uses the popular Selenium we ...

  10. Class Prefix(Xcode6以后设置类前缀)

    点开Xcode右侧Utilities,Project Document->Class Prefix  图片:prefix.png