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

当使用struts2的validation.xml进行验证时,需要注意如下几个方面:

I.首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名。入LoginAction-validation.xml。

II.LoginAction-validation.xml文件必须与Action类放在相同的目录下。

III.validation.xml文件中的<field-validator type="">标签的type属性,必须与VO中定义的属性的数据类型相同。

IV.在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success" >,否则会报找不到页(404)。

V.一段示例validation.xml代码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
 "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
 "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="user.strUsername">
  <!-- 验证字符串不能为空 -->
  <field-validator type="requiredstring">
  <!-- 去空格 -->
  <param name="trim">true</param>
  <!-- 错误提示信息 -->
  <message>用户名不能为空</message>
  </field-validator> 

  <!-- 验证字符串长度 -->
  <field-validator type="stringlength">
  <param name="minLength">2</param>
  <param name="maxLength">20</param>
  <message>用户名长度应在2到18个字符间</message>
  </field-validator>
</field> 

<field name="user.strPassword">
  <field-validator type="requiredstring">
  <param name="trim">true</param>
  <message>密码不能为空</message>
  </field-validator> 

  <field-validator type="stringlength">
  <param name="minLength">6</param>
  <param name="maxLength">18</param>
  <message>密码长度应在6到18个字符之间</message>
  </field-validator>
</field> 

<!--<field name="user.age">
  <field-validator type="int">
  <param name="min">1</param>
  <param name="max">150</param>
  <message>年龄应在1到150之间</message>
  </field-validator>
</field>
 验证字符串为日期类型
<field name="user.birthday">
  <field-validator type="date">
  <param name="min">1900-01-01</param>
  <param name="max">2008-10-16</param>
  <message>出生日期应在1900-01-01到2008-10-16</message>
  </field-validator>
</field>
--></validators>

总结

以上就是本文关于struts2 validation.xml 验证规则代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • Struts2拦截器Interceptor的原理与配置实例详解
  • Struts2相关的面试题整理分享
  • struts2框架的登录制作图文教程
  • Struts2实现对action请求对象的拦截操作方法
  • struts2的国际化实现网站整体中英文切换实例代码
  • Struts2 的国际化实现方式示例
  • 基于struts2和hibernate实现登录和注册功能
  • struts2中使用注解配置Action方法详解
(0)

相关推荐

  • Struts2相关的面试题整理分享

    前言 众所周知,Struts2是个非常优秀的开源框架,我们能用Struts2框架进行开发,同时能快速搭建好一个Struts2框架,但我们是否能把Struts2框架的工作原理用语言表达清楚,你表达的原理不需要说出底层是怎么实现的,我估计大多数的人也听不懂.当面试官问到我们Struts2的工作原理时,我们该怎么回答这个问题呢?回答什么才能让自己说的与众不同,先看看其他朋友总结的 一.工作原理 在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomca

  • Struts2拦截器Interceptor的原理与配置实例详解

    一.Struts2拦截器原理: Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的    拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器. 比如:应用要求用户登陆,且必须为指定用户名才可以查看系统中某个视图资源:否则,系统直接转入登陆页面.对于上面的需求,可以在每个Action的执行实际处理逻辑之前,先执行权限检查逻辑,但这种做法不利于代码复用.因为大部分Action里的权限检查代码都大同小异,故

  • Struts2 的国际化实现方式示例

    以前一直看见 i18N ,现在才知道原来 i18N 就是 Internationalization,因为以 i 开头,以 N 结尾,共18个字母,也就是国际化的意思.在百度搜索主页上没有看见中英文的切换,毕竟百度在中国是为了中国人而设计的,没必要弄个英文的切换.google搜索主页上是有的,因为谷歌在中国的服务器放到了香港,所以还有繁体切换.这是怎么做到的呢?其实原理很简单,用Struts2很容易实现的.以实现中英文切换为例做一下说明: 第一步:在src目录下添加两个资源文件,命名方式很重要的.

  • struts2中使用注解配置Action方法详解

    使用注解来配置Action可以实现零配置,零配置将从基于纯XML的配置转化为基于注解的配置.使用注解,可以在大多数情况下避免使用struts.xml文件来进行配置. struts2框架提供了四个与Action相关的注解类型,分别为ParentPackage.Namespace.Result和Action. ParentPackage:ParentPackage注解用于指定Action所在的包要继承的父包.该注解只有一个value参数.用于指定要继承的父包. 示例: 使用ParentPackage

  • Struts2实现对action请求对象的拦截操作方法

    Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. 该方法如下:   public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无

  • struts2框架的登录制作图文教程

    首先:我们要建一个web项目 接着: 我们先来导入struts的xml文件 第一步:右击你的项目名,鼠标到MyEclipse会看到一个add struts开头的文件,点开以后看到: 这里我们选择struts2.版本,并且路径我们选择 /*  ,因为我们只是简单的登录,所以直接finish. 实体类我们就不写了 ,来看一下关于struts的核心类 aciton的编写. 实现action有两种方法: 1:实现action接口, 2:继承actionsupport类 这里我实现actionsuppor

  • struts2的国际化实现网站整体中英文切换实例代码

    本文介绍了struts2的国际化实现网站整体中英文切换实例代码,分享给大家,具体如下: 环境要求:Struts2框架环境搭建成功 为了实现程序的国际化,必须先提供程序所需要的资源文件.资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分. 资源文件的命名可以是如下3种形式: baseName_language_country.properties baseName_language.properties baseName.properties 其中b

  • 基于struts2和hibernate实现登录和注册功能

    本文实例为大家分享了struts2和hibernate实现登录和注册功能,供大家参考,具体内容如下 1.该项目使用MySQL数据库,数据库名为test,表名info,如图所示: 2.配置web.xml(Struts2使用) <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/jav

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

    当使用struts2的validation.xml进行验证时,需要注意如下几个方面: I.首先应该注意validation.xml的名字,一定要以Action的类名加"-validation.xml"作为文件名.入LoginAction-validation.xml. II.LoginAction-validation.xml文件必须与Action类放在相同的目录下. III.validation.xml文件中的<field-validator type=""

  • AngularJs表单验证实例代码解析

    常用的表单验证指令如下详情: 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required /> 2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3.

  • uploadify上传及后台文件合法性验证的代码解析

    后台上传方法 @RequestMapping(value = "/api_upload", method = RequestMethod.POST) public @ResponseBody String upload(HttpServletRequest request,HttpServletResponse response) { //获取上传路径 String uploadFilePath=ParameterConstants.UPLOAD_FILE_PATH; String s

  • jquery插件validation实现验证身份证号等

    先推荐一个基于bootstrap的jQuery validation插件:http://thrilleratplay.github.io/jquery-validation-bootstrap-tooltip/ jQuery validation添加验证规则 validata.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/D

  • struts2的流程和一系列相关知识代码解析

    1.客户端初始化一个指向servlet容器(Tomcat)的请求: 2.这个请求经过一系列的过滤器,接着FilterDispatcher被调用: 3.FilterDispatcher询问ActionMapper来决定这个请求是否要调用某个action: 4.如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,ActionPro根据ConfigurationManager询问框架的配置文件,找到需要调用的Action类,一般

  • Struts2实现生成动态验证码并验证实例代码

     一.基本流程: 产生一个验证码页面(很小)→嵌入到表单中→点击可以刷新页面→表单提交时验证. 二.方法: 1.定义TestAction,实现画图方法 package com.zhuguang.action; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Map; import javax.se

  • Ajax+Struts2实现验证码验证功能实例代码

    众所周知,验证码在我们的生活中都是非常常见的,很多公司都在各种折腾各种各样的验证码,这里简要的用一个小案例来实现验证码的功能(ps:其实我挺讨厌验证码这个东西的). 今天分享的是通过ajax来动态的验证验证码输入是否正确.我们这里采用的是ajax+struts2来做的这个验证. 我们新建一个web工程.然后需要导入struts的相应包.之后我们需要写一个类来生成验证码. 这里命名为01_image.jsp,这类的主要功能就是生成验证码,里面是各种画线条,随机数字等,我这里设置的是5个数字的验证,

  • python解析xml模块封装代码

    有如下的xml文件: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?>  <root>  <childs>  <child name='first' >1</child>  <child value="2">2</child>  </childs>  </root> 下面介绍python解

  • mybatis使用xml进行增删改查代码解析

    MyBatis是支持普通sql查询.存储过程和高级映射的持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装. MyBatis可以使用 简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects 普通的Java对象)映射成数据库中的记录. 每一个Mybatis应用程序都以一个sqlSessionFactory对象的实例为核心. sqlSessionFactory对象的实例可以通过sqlSessionFa

  • Struts2的输入校验实例代码

    在我们项目实际开发中在数据校验时,分为两种,一种是前端校验,一种是服务器校验:   客户端校验:主要是通过jsp写js脚本,它的优点很明显,就是输入错误的话提醒比较及时,能够减轻服务器的负担,但是客户端校验并不是安全的,简单来讲就是防君子防不了小人.    服务器端校验:最大特点就是数据安全,但是如果只有服务器端校验,会大大增加服务器端的负担. 所以一般在我们开发中,是客户端和服务器端校验相结合作用的. 那这篇文章,我只讲服务器端校验,在Struts2支持两种校验方式: 代码校验 :在服务器通过

随机推荐