`
iuhiqnehc
  • 浏览: 13763 次
社区版块
存档分类
最新评论

Struts2验证框架的配置及validation.xml常用的验证规则

 
阅读更多
validation.xml 的命名规则和放置路径:
文件名:<ActionClassName>-validation.xml
<ActionClassName>就是要验证的Action类的名字。要将此文件放于Class文件相同的目录。

如果在Action类在struts配置中有多个action实例(action name),那么对应某个action的验证文件名规则如下:

文件名:<ActionClassName>-<aliasName>-validation.xml

例如:UserAction-login-validation.xml

(注意:上面的<aliasName>并不是method name,而是struts.xml中配置的action的name)


validation.xml 的内容示例:
其实message的信息还有可以配置国际化:配置方法也极其简单就是<message key="userpass.required"></message>,key对应的是国际化配置文件中的国际化信息。

Struts2 的验证规则大概有以下数种:
required:必填校验器
requiredstring:必填字符串校验器
int:整数校验器
double:双精度浮点数校验器
date:日期校验器
expression:表达式校验器
fieldexpression:字段表达式校验器
email:电子邮件校验器
url:网址校验器
visitor:Visitor校验器
conversion:转换校验器
stringlength:字符串长度校验器
regex:正则表达式校验器

常用的验证规则:

1。必填检验
<validators>
<field name="username">
<field-validator type="required">
<message>指定检验失败的提示信息</message>
</field-validator>
</field>
</validators>


2。必填字符串检验
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>指定检验失败的提示信息</message>
</field-validator>
</field>
</validators>


3。整数检验器/浮点检验
<validators>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年纪必须在1到150之间</message>
</field-validator>
</field>
</validators>


4。日期检验
<validators>
<field name="birth">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2050-02-21</param>
<message key="birth.range"/>
</field-validator>
</field>
</validators>


5.字段表达式检验器(要求指定字段满足一个逻辑表达式)
<validators>
<field name="re_pass">
<field-validator type="fieldexpression">
<!--指定逻辑表达式 -->
<param name="expression"> (pass eq re_pass)</param>
<message>密码必须和确认密码相等</message>
</field-validator>
</field>
</validators>


6.邮件地址校验
<validators>
<field name="email">
<field-validator type="email">
<message>你的电子邮件地址必须是一个有效的电邮地址</message>
</field-validator>
</field>
</validators>


7。网址 检验
<validators>
<field name="url">
<field-validator type="url">
<message>你的主页地址必须是一个有效的网址</message>
</field-validator>
</field>
</validators>


8.字符串长度检验
<validators>
<field name="user">
<field-validator type="stringlength">
<param name="minlength">4</param>
<param name="maxlength">20</param>
<message>你的用户名长度必须在4到20之间</message>
</field-validator>
</field>
</validators>


9.正则表达式检验
<validators>
<field name="user">
<field-validator type="regex">
<param name="expression_r"><![CDATA[(\w{4,25})]]></param>
<message>您输入的用户名只能是字母和数组,且长度必须在4到25之间</message>
</field-validator>
</field>
</validators>

接下来我举一个简单的登录验证的例子:
login.jsp
这里有个地方需要注意:form中要加入validate=“true”这个属性。

***Action-validation.xml
这种方式就使用了国际化的信息。

***Action.action这个挺简单的就是常规的action写法,在execute中验证表单,或自己封装方法验证表单,但是不能继承validate()方法,因为action执行的时候实现检察validate方法的,如果这样的话就配置重复了,不过有什么结果我没有测试(没啥意义)。

struts.xml配置
有一点有必要提一下,action中必须配置input这个result,因为如果验证失败后struts2会自动转向到input的result,不管你的action中配置的验证失败的result是什么。所以这个input属性的result不能落下。
效果
火狐下面的中文语言:
ie下的英文语言:


分享到:
评论

相关推荐

    struts2 validation.xml 验证规则代码解析

    主要介绍了struts2 validation.xml 验证规则代码解析,具有一定借鉴价值,需要的朋友可以参考下

    struts2数据验证框架

    Struts2 验证框架 validation.xml 常用的验证规则

    struts2验证框架

    struts2验证框架 在包下创建Action.validation.xml启动框架验证

    validator-rules.xml,validation.xml

    struts1.2使用的validate验证框架的validator-rules.xml配置文件

    validation.xml

    stuts验证不可少的一个文件,没有它没法进行你的验证。

    Java验证框架Validation.F0 0.9.0

    这是一个验证框架,并且是一个 独立的验证框架 ,不依赖与其他已有的框架; 可以自由的嵌入到其他框架,比如Spring、Struts等流行框架,但实质来说他是独立的,所以无所谓嵌入到哪里,如果需要在GUI桌面应用中,也是...

    struts 2.0 验证框架

    1.针对验证的action在action的包下新建一个xml文件,命名:action的名-validation.xml 2.src下的资源文件 3.struts.xml中引入资源文件

    SSH代码生成工具 SSH代码生成器

    验证框架--&gt; bean-validation.xml (实体验证)、SaveAction-validation.xml (保存验证)、UpdateAction-validation.xml (修改验证) 日志管理配置 --&gt; log4j.xml 国际化配置--&gt;globalMessages_zh.properties(中文) ...

    AutoCode代码生成器(SSH版)

    验证框架--&gt; bean-validation.xml (实体验证)、SaveAction-validation.xml (保存验证)、UpdateAction-validation.xml (修改验证) 日志管理配置 --&gt; log4j.xml 国际化配置--&gt;globalMessages_zh.properties(中文)...

    ssh代码生成器轻松、快捷

    验证框架--&gt; bean-validation.xml (实体验证)、SaveAction-validation.xml (保存验证)、UpdateAction-validation.xml (修改验证) 日志管理配置 --&gt; log4j.xml 国际化配置-&gt;globalMessages_zh.properties(中文) ...

    AutoCode代码生成器【SSH版】

    验证框架--&gt; bean-validation.xml (实体验证)、SaveAction-validation.xml (保存验 证)、UpdateAction-validation.xml (修改验证) 日志管理配置 --&gt; log4j.xml 国际化配置--&gt;globalMessages_zh....

    validator的两种框架验证的程序代码—可导入运行

    改动了struts-config.xml里里的type,并设置valid.jsp里的属性类型,validation.xml里的里的name对应struts-config.xml里ation里的path,此外validAction.java里取出表单里元素的值的方法也有变化。

    struts validator框架以及filter 乱码

    简单的struts的validator框架代码,以及validation.xml和validator-rules.xml配置 validator对日期的验证 以及乱码问题,采用fliter解决乱码问题

    struts2学习教程

    struts2学习教程包括:第一个Struts2程序,处理一个form多个submit,struts.xml常用配置解析,使用validate方法验证数据,使用Validation框架验证数据,在Action类中获得HttpServletResponse对象的四种方法,上传...

    struts国际化验证

    使用Struts2验证框架 第一步:编写登录页面login.jsp 包含用户名、密码输入框 第二步:编写登录成功页面success.jsp 显示用户姓名 第三步:编写LoginAction类 username属性和password属性 execute方法返回“success...

    Struts2 in action中文版

    10.1.2 Struts 2工作流中的验证框架 219 10.2 将动作关联到验证框架 222 10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的...

    Struts Validation Toolkit-开源

    SVT(Struts Validation Toolkit)是Struts的验证框架。 您可以用 Java 编写简单的验证代码。 这将允许您编写更灵活的规则,而不是编写validation.xml 文件。

    外文翻译 stus MVC

    • Before passing it to the Action class, Struts will also conduct form state validation by calling the validation() method on UserActionForm. Note: This is not always wise to do. There might be ways ...

Global site tag (gtag.js) - Google Analytics