<?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.username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用户名不能为空</message>
</field-validator>
<!-- 验证用户名只能是字母或数字,长度在6-25之内 -->
<field-validator type="regex">
<param name="expression">
<![CDATA[(\w{6,25})]]>
</param>
<message>您输入的用户名必须在6-25个字符内,并且只允许字母和数字</message>
</field-validator>
</field>
<!-- 重点 -->
<field name="user.password">
<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-validator type="fieldexpression">
<param name="expression"><![CDATA[(user.password==user.repassword)]]></param>
<message>两次密码必须一致</message>
</field-validator> </field>
<!-- 重点 -->
<field name="user.age">
<field-validator type="int">
<param name="min">0</param>
<param name="max">150</param>
<message>年龄范围不正确</message>
</field-validator>
</field> <field name="user.email">
<field-validator type="email">
<message>邮箱格式不正确:例如(example@163.com)</message>
</field-validator>
</field> <field name="user.phone">
<field-validator type="regex"> <param name="expression"><![CDATA[^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8})|(0\d{2}-\d{7,8})|(0\d{3}-\d{7,8})$]]></param>
<message>电话号码不符合规范!xxxxxxxxxxx或05xx-xxxxxx或 010-xxxxxxxx</message>
</field-validator>
</field> </validators>

1:放置位置和目录结构

2:action

package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.test.bean.Users; public class RegisterAction extends ActionSupport {
private Users user;
@Override
public String execute() throws Exception { return SUCCESS;
} public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
}

3:index.jsp页面展示

 <form action="<%=path %>/test/registerAction" method="post"><!--必须要带[0],除[] -->
用户名:<input type="text" name="user.username"/>${errors["user.username"][0]}<br><br>
密码:<input type="password" name="user.password"/>${errors["user.password"][0]}<br><br>
确认密码:<input type="password" name="user.repassword"/>${errors["user.repassword"][0]}<br><br>
年龄:<input type="text" name="user.age"/>${errors["user.age"][0]}<br><br>
邮箱:<input type="text" name="user.email"/>${errors["user.email"][0]}<br><br>
电话:<input type="text" name="user.phone"/>${errors["user.phone"][0]}<br><br>
<input type="submit" value="提交"/>
</form>

struts表单验证xml配置文件的更多相关文章

  1. 【锋利的jQuery】表单验证插件踩坑

    和前几篇博文提到的一样,由于版本原因,[锋利的jQuery]表单验证插件部分又出现照着敲不出效果的情况. 书中的使用方法: 1. 引入jquery源文件, 2. 引入表单验证插件js文件, 3. 在f ...

  2. struts2官方 中文教程 系列十一:使用XML进行表单验证

    在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...

  3. 配置web.xml和glassfish容器实现javaEE表单验证

    web.xml配置: <!-- 声明用于安全约束的角色 --> <security-role> <role-name>ReimUser</role-name& ...

  4. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  5. 初学structs2,表单验证

    一.简单表单验证示例 structs.xml配置 <struts> <package name="validate" namespace="/valid ...

  6. Webx之表单验证

    引入服务器端表单验证service,是通过在webx.xml中通过服务引入的方式完成的.例如,在user相关信息的表单验证的产生过程是这样的:webx-user.xml通过 <beans:imp ...

  7. SpringMVC 表单验证

    SpringMVC 表单验证 本章节内容很丰富,主要有基本的表单操作,数据的格式化,数据的校验,以及提示信息的国际化等实用技能. 首先看效果图 项目结构图 接下来用代码重点学习SpringMVC的表单 ...

  8. jdbc工具类的封装,以及表单验证数据提交后台

    在之前已经写过了jdbc的工具类,不过最近学习了新的方法,所以在这里重新写一遍,为后面的javaEE做铺垫: 首先我们要了解javaEE项目中,文件构成,新建一个javaEE项目,在项目中,有一个we ...

  9. test_maven_实现表单验证

    这篇文章是我的上一篇文章的续集,如未看过,可看一下,上面的test_maven再继续看这个 这篇文章主要是阐述使用struts实现表单验证的功能. 1.首先了解actionContext:Action ...

随机推荐

  1. Sublime Text 3 快捷键(转载)

    本文转自:https://segmentfault.com/a/1190000002570753 (欢迎阅读原文,侵删) Sublime Text 3 快捷键精华版 Ctrl+Shift+P:打开命令 ...

  2. linux top-显示或管理执行中的程序

    推荐:更多linux 性能监测与优化 关注:linux命令大全 top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面, ...

  3. XML中的特殊(保留)字符数据

    XML中的特殊(保留)字符数据 制作人:全心全意 在XML文档中,有些字符会被XML解析器当作标记进行处理.如果希望把这些字符作为普通字符处理,就需要使用实体引用或CDATA段. 使用实体引用 为了避 ...

  4. concepts in Turbulent Flow

    Table of Contents 1. Concepts/Glossary 1.1. Turbulent eddy viscosity ,μt 1.2. Turbulent kinetic ener ...

  5. 分布式数据库中CAP原理(CAP+BASE)

    分布式数据库中CAP原理(CAP+BASE) 传统的ACID 1)原子性(Atomicity): 事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功. 2)一致性(Con ...

  6. spring-boot | 整合通用Mabatis 分页插件PageHelper

    Mybatis通用Mapper介绍 Mybatis 通用 Mapper 极其方便的使用 Mybatis 单表的增删改查,支持单表操作,不支持通用的多表联合查询 优点: 通用 Mapper 可以极大的方 ...

  7. Non-inclusive cache method using pipelined snoop bus

    A non-inclusive cache system includes an external cache and a plurality of on-chip caches each havin ...

  8. [bzoj2657][Zjoi2012]旅游 journey_ 对偶图_树形dp

    旅游 bzoj-2657 Zjoi-2012 题目大意:题目链接 注释:$1\le K\le 2\cdot 10^5$. 想法:这题... 感觉和上一个题的提示有些类似,就是题目生怕你不知道这是一道对 ...

  9. Codeforces 303A(构造)

    题意:对0到(n-1)这n个数进行全排列.请找出三个全排列a.b.c,使得“a与b的对应元素的和”与“c的对应元素”对模n同余,无解输出-1.(n<=1e5) 分析:n为奇数有解,n为偶数无解 ...

  10. PS和AI软件差别

    首先.PS是处理位图图像的.AI是处理矢量图图形的.那就先说一下两者最主要的问题,位图与矢量图的差别和优缺点.  在计算机画图领域中.依据成图原理和绘制方法的不同.数字图形.图像分为"矢量图 ...