struts2验证框架

Struts的验证框架

一、字段验证器
1.简单的用户输入验证,在接收数据的Action同一个包下,创建一个***-validation.xml
文件,然后对验证规则进行配置示例:

<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.2//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>
    <field name="user.account">
    <field-validator type="requiredstring">
        <message>请输入账号</message> <!--返回的错误提示的消息 -->
    </field-validator>
    </field>
</validators>
示例讲解:
<validators>
    <validator type="int">
    <param name="fieldName">user.age</param>
    <param name="min">18</param>
    <message>年龄必须在18岁以上,您输入的是${user.age}</message>
    </validator>
<validators>

①<validators>元素仍然作为整个验证文件的根元素
②<validators>的子元素就是字段验证器<validator>元素的type属性就是这个字段验证器
使用的验证器
③<validator>元素作为字段验证器使用时,一定要出现一个name属性为fieldName的<param>
子元素,用以指明验证哪个字段
④<validator>元素的<messahe>子元素用来设置验证错误是返回的信息。在<message>元素中
写出的文本将直接作为错误信息返回,如果<message>元素存在key属性,它将引用国际化信息

在返回错误信息的界面使用<s:fielderror/>来输出提示信息

二、动作验证器

示例如下:

<validator type="expression">
  <param name="expression"><![CDATA[user.age >= user.account]]></param>
  <message>年龄必须在${user.account}岁以上,您输入的是${user.age}</message>
  </validator>

①<validators>元素仍然作为整个验证文件的根元素
②<validators>元素的<validator>子元素就是动作验证器。其中type属性为expression,
引用了内置的表达式验证器,这个验证器需要一个name属性为expression的<param>子元素为其
指定表达式
③<validator>元素的<messahe>子元素用来设置验证错误是返回的信息。在<message>元素中
写出的文本将直接作为错误信息返回,如果<message>元素存在key属性,它将引用国际化信息

在返回错误信息的界面使用<s:actionerror/>来输出提示信息

三、内建验证器

①类型转换错误验证器(conversion)
conversion验证器用来验证转换类型是否出错,如果一个类型为int的
参数接收到“19a”这个字串,报错

②整数验证器(int)(短整数验证器(short)和长整数验证器(long)用法相似)
int验证器用来验证一个整数参数是否在指定的范围内。
int验证器可以有两个参数
min用来指定可接收范围的最小值
max用来指定可接收范围的最大值
③日期验证器(date)
date验证器用来验证一个日期型参数是否在指定的范围内。
date验证器可以有两个参数
min用来指定可接收范围的最小值
max用来指定可接收范围的最大值
④双精度浮点验证器(double)
double验证器用来验证一个双精度浮点型参数是否在指定的范围内。
double验证器可以有4个参数:
minInclusive用来指定课接收范围的最小值,包含给定值
masInclusive用来指定课接收范围的最大值,包含给定值
minExclusive用来指定课接收范围的最小值,不包含给定值
minExclusive用来指定课接收范围的最大值,不包含给定值
⑤邮箱验证器(E-mail)
e-mail验证器用来验证一个参数是否为邮箱地址
⑥URL验证器
URL验证器用来验证一个参数是否为合法的URL
⑦必填验证器(required)
required验证器用来验证一个参数是否不为null
⑧必填字符串验证器(requiredstring)
requiredstring验证器用来验证一个字符串参数是否为空,且长度大于0
requiredstring验证器只有一个参数:
trim:是否去掉字符串两边的空白,默认为true
⑨字符串长度验证器(stringlength)
stringlength验证器有3个参数
maxLength:字符串长度的最大值
minLength:字符串长度的最小值
trim:是否去掉字符串两边的空白,默认为true
⑩正则表达式验证器(regex)
regex验证器用来验证一个字符串是否符合一个正则表达式的要求
regex验证器有3个参数:
expression:必填参数,正则表达式。
caseSensitive:是否检查大小写。
trim:是否去掉字符串两边的空白,默认为true

时间: 2024-10-22 01:09:29

struts2验证框架的相关文章

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

Struts2 验证框架 validation.xml 常用的验证规则 validation.xml 的命名规则和放置路径:文件名:<ActionClassName>-validation.xml<ActionClassName>就是要验证的Action类的名字. 要将此文件放于Class文件相同的目录.如果在Action类在struts配置中有多个action实例(action name),那么对应某个action的验证文件名规则如下:文件名:<ActionClassNam

Struts2验证框架的注意事项

在编写struts2 的验证框架的时候 需要注意几点 1.编写的验证框架的配置文件要和被验证的Action的名称有一定的联系 age:Acton的名称:LoginUserAction  配置文件名:LoignUserAction-validation.xml 当Action里面得方法不止一个的时候 并且其他的方法不需要验证的时候 此时配置文件名为:LoginUserAction-mthodName-validation.xml    age(LoginUserAction-add-validat

Struts2验证框架_xml验证失败

测试Struts2验证框架-->XML验证   启动tomcat后网页登录失败 Employee-validation.xml文件头如下: <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> 原因是http://www.

struts2验证框架方法一

struts2验证框架方法一: *只有一个文件 *在action所对应的包下面建立****-validation.xml(****是action的类名),如:SaveUserAction-validation.xml *如果是多个方法的action,则这样写:action类名-方法名-validation.xml ============================如下配置================================ <?xml version="1.0"

(七)Struts2 验证框架

所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 验证简介 Struts2 基于Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持. 第二节:Struts2 内置验证 一,普通字段验证 二,验证表达式: <s:actionerror/> 第三节:自定义验证

struts2学习(11)struts2验证框架1.验证简介、内置验证

一.Struts2验证简介: 二.struts2内置验证: 下面例子,需求是:为用户注册进行验证: com.cy.model.User.java: package com.cy.model; public class User { private String userName; private String name; private int age; private String email; private String homePage; public String getUserNam

使用Struts2 验证框架,验证信息重复多次出现

版权声明:本文为博主原创文章,未经博主允许不得转载. 问题描述:第一次提交表单.某个数据不符合规则,就会出现一条错误信息.再次提交,上次显示的错误信息不消失,又多出一条一模一样的错误信息.提交几次,就会多显示几条一模一样的错误信息. 刚开始发现这个问题还一直以为是spring和struts整合时的错误,查阅了诸多资料,了解了一下struts的校验规则: -->即先进行validation的校验,如果不符合,直接跳转到input页面,不再进入action,同时填充fielderror字段,页面可以

解决ssh中使用struts2验证框架提示错误后正确无法提交的问题

struts和spring整合,因为action由spring进行管理,需要在spring配置文件中设置相对应的action的属性scope="prototype",绝对不能用默认值scope="singleton",设置成scope="prototype"相当于每次都会去new一个实例,否则用一个实例去去处理所有的请求,就会发生例如验证的时候第一次验证失败,之后正确也不能提交的情况. 要如下设置: <bean id="delUs

[JavaWeb基础] 015.Struts2 表单验证框架

在web开发的过程中,我们经常要用到一些填写表单的操作,我们一般都要在提交表单信息的时候对表单的内容进行验证,struts2给我们提供了简单的实现接口,让我们可以很容易的对表单进行验证.下面讲解下最传统的方法配置表单验证框架,还有更简单明了的就是利用注解,这里就不解释了. 1.首先我们要在要进行配置的Action的同级目录下,新建一个.xml文件,命名格式为:ActionClassName-validation.xml. 例如我的Action类名为:RegisterAction   那么xml名