表单验证有两种方式,代码验证和xml配置验证器验证。每种方法都可以设置全局验证和单个方法验证。感觉单个方法用的多一点。

例子:用户注册,进行验证。表单如下

<!--设置错误显示格式-->

<style type="text/css">
ul {
display: inline-block;
}
ul li{
display: inlin;
color: red;
}
</style>

。。。。。。

<form action="${pageContext.servletContext.contextPath }/User_register.do" method="post"><table align="center" border="1" cellpadding="5" cellspacing="0"><tr><th>用户名:</th><td><input type="text" name="user.uname"><s:fielderror fieldName="user.uname"></s:fielderror></td></tr><tr><th>年龄:</th><td><input type="text" name="user.uage"></td></tr><tr><th>性别:</th><td><input type="text" name="user.ugender"></td></tr><tr><th>生日:</th><td><input type="text" name="user.ubirthday"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交" /> </td></tr></table></form>

struts.xml配置信息

<package name="Userpkg" extends="struts-default"><action name="User_*" class="com.huitong.action.UserAction" method="{1}"><result name="success">/index.jsp</result><result name="input">/register.jsp</result>  //如果验证有错误,会返回input,此处是让其跳转到注册页面</action></package>

方式一、代码验证,主要方法是:ActionSupport.validate,该方法是对全局进行验证。

如果想要对某一方法进行验证,方法名命名规则:validate+方法名,方法名首字母大写。

例如:我写的方法是

    public String register(){System.out.println(user);return SUCCESS;}

那么要验证方法名是:validateRegister,简单实现如下

    public void validateRegister() {if(user.getUname() == null || "".equals(user.getUname().trim())){super.addFieldError("username", "用户名不能为空!");return;}if(user.getUgender()==null || "".equals(user.getUgender().trim())){super.addFieldError("genderempty", "性别不能为空!");return;}        }

方式二:xml验证,struts2提供的验证器可以在xwork2/validator/validators/default.xml文件中查找。配置文件的书写格式查看/xwork-validator-1.0.3.dtd

配置文件名书写规则:ActionClassName-action name-validation.xml,如果是全局的验证就是ActionClassName-validation.xml。

简单例子如下:文件名是:/webappstruts3/src/com/huitong/action/UserAction-User_register-validation.xml

注意:该配置文件是和相应的action文件在同一个目录中。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC"-//Apache Struts//XWork Validator 1.0.3//EN""http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators><field name="user.uname"><field-validator type="requiredstring" ><message>用户名不能为空</message></field-validator></field></validators>

struts2 表单验证相关推荐

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

    在web开发的过程中,我们经常要用到一些填写表单的操作,我们一般都要在提交表单信息的时候对表单的内容进行验证,struts2给我们提供了简单的实现接口,让我们可以很容易的对表单进行验证.下面讲解下最传 ...

  2. Struts2表单验证、模型驱动、防重复提交、数据回显

    1)表单验证 strus的表单验证通过使用struts内置的vlidation拦截器来完成.使用相对比较简单,有以下步骤需要完成. a,写一个xml配置文件(和需要验证的action必须同包),文件名 ...

  3. Struts2表单验证

    一.struts2.0的输入验证: A.手动验证: 1)重写validate() 2)重写validateXxx() B.使用验证框架 Action类都要继承ActionSupport类 二.为一个A ...

  4. struts2表单验证里validato 的type值及其含义

    int 整数: double 实数: date 日期: expression  两数的关系比较:  email Email地址: url   web地址 visitor 访问 conversion   ...

  5. struts2表单验证里field-validator type值一共可以取哪些?都什么含义?

    int 整数: double 实数: date 日期: expression 两数的关系比较: email Email地址: url visitor conversion regex 正则表达式验证: ...

  6. 如何自定义Struts2表单验证后的错误信息显示格式

    http://www.blogjava.net/lishunli/archive/2010/10/17/335384.html http://www.blogjava.net/lishunli/arc ...

  7. struts2官方 中文教程 系列六:表单验证

    先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...

  8. struts2的表单验证validation.xml

    转载自:http://blog.csdn.net/vipmao/article/details/51199388 struts2中提供自带的表单验证方式.验证方式大致有一下几种. required:必 ...

  9. struts2标签和表单验证

    感谢博主  谢谢  再次感谢 <s:textfield name="user.username" label="用户名"/> 这个name与你act ...

最新文章

  1. Swift - AppDelegate.swift类中默认方法的介绍
  2. parseInt(08)或parseInt(09)转换返回0的解决办法
  3. 数据预处理(part3)--缺失值处理和区间化
  4. oracle rac em cluster name,ORACLE 11G RAC重建EM问题
  5. 【学习笔记】同余最短路
  6. Redis未授权访问漏洞记录(端口:6379)
  7. Magento教程 19:客户评论的审核与发布! (Pending Reviews)
  8. 计算机科学学院参加些什么比赛,【安全月进行时】计算机科学学院成功举办2019年实验室安全知识竞赛活动...
  9. redhad安装git
  10. [EMNLP18]针对自顶向下和中序移进归约成分句法分析的Dynamic Oracles
  11. t999主页劫持/篡改木马
  12. 洛谷P3366【模板】最小生成树-克鲁斯卡尔Kruskal算法详解附赠习题
  13. 【Web】lighttpd基础
  14. java获得文件的md5码_java获取文件md5码
  15. curiosity_mars_rover调试
  16. 基于51单片机的红外报警实验
  17. 审计系统---堡垒机项目之表结构设计
  18. 快来抄吧:Project Plan Template 项目计划模板
  19. 【 爬虫解决了什么问题】
  20. 全志A20 android4.4双屏异显 双屏同显终于可以了

热门文章

  1. python网页运行环境_Python小牛叔Web开发1:安装Visual Studio Code配置Python运行环境...
  2. 树莓派python教程_两个简易的树莓派初学者Python程序
  3. str.endswith可以传入集合数据类型,而不仅仅是字符串
  4. linux误修改文件名恢复,如何在 Linux 中找出最近或今天被修改的文件-linux修改文件名...
  5. 退出命令_Vim命令报错问题:无法用:wq命令保存并退出只读文件
  6. 买游戏来运营_「笔吧评测室」双十一快来了,买游戏本要做好心理准备
  7. 框架生成的HTML修改,Django框架form表单验证 修改html标签的样式
  8. 【企业管理】2019年11 月 每日花语
  9. org.dom4j.DocumentException: 20 Nested exception: 20
  10. 《系统集成项目管理工程师》必背100个知识点-34项目范围基准