<?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. Word 格式优化

    Word 格式优化. Word 支持 VBA 意味着,可以编程实现自己想要的格式拓展. Word 代码布局

  2. linux基础常用语句--新手

    查询:ls查看全部内容:ls -n删除:rm -rf 文件名创建目录: mkdir解压:rpm -验证是否安装:rpm -p 文件名rpm -ivh --nodeps 不需要前置条件的安装查询当前路径 ...

  3. Linux mpstat-显示各个可用CPU的状态

    更多linux 性能监测与优化 关注:linux命令大全 mpstat命令指令主要用于多CPU环境下,它显示各个可用CPU的状态系你想.这些信息存放在/proc/stat文件中.在多CPUs系统里,其 ...

  4. (一)python条件语句和基本数据类型

    条件语句 语法一:if...else  if <条件成立>: 处理过程 else: 处理过程 语法二:if...elif...else if <条件1成立>: 处理过程1 el ...

  5. [luoguP1069] 细胞分裂(数论)

    传送门 分解质因数,不说了 这题坑了我2个多小时 教训 不熟悉位运算的优先级一定要加括号!!!! #include <cstdio> #include <iostream> # ...

  6. IM聊实现客户端之间信息交互需求文档

    终于放假啦~之前学习太忙很多知识点都没有写博客,可能自己学会了但没有分享给大家,接下来几天我可能把一些学过的东西整理成博客发出来供大家相互学习交流. 需求分析说明书 HuaXinIM聊软件 潘浩 20 ...

  7. vim下多行注释与解注释

    1.多行注释 (1)按esc进入命令行模式 (2)按下Ctrl+v,进入区块模式,并使用上下键选择需要注释的多行 (3)按下“I”(大写)键,进入插入模式 (4)输入注释符(“//”或“#”等) (5 ...

  8. MYSQL中的主要查询方法

    #简单查询 #查询表中的所有数据SELECT * FROM test; #查询表中的指定列的数据SELECT cid,cname FROM test; #过滤重复的数据SELECT DISTINCT ...

  9. [Vue @Component] Dynamic Vue.js Components with the component element

    You can dynamically switch between components in a template by using the reserved <component>  ...

  10. C#文件运行类的VB.NET版本号

    主要差别在于事件处理要採用AddHandler和RemoveHandler,以及AddressOf三个keyword,其他基本一样. VB的操作稍微繁琐.但仍然能够实现.