初学structs2,表单验证简单补充
一、使用注解方式,跳过验证某个方法
由于在开发中,我们不需在请求每一个action类中的方法时都要走validate方法,那么我们可以在这些不需要验证的方法上加上@SkipValidation注解即可
二、不重写Validate方法下,通过使用validate或validateDo前缀来指定类中哪个方法需要进行验证
如果一个Action类中只有几个方法需要验证,而大部分不需要,那么就可以使用指定哪个方法需要进行验证的方式来做如下两个方法
public void validateSearch(){
if(name==null||name.equals("")){
addFieldError("name","用户名为空");
}
}
或
public void validateDoSearch(){
if(name==null||name.equals("")){
addFieldError("name","用户名为空");
}
}
三、通过配置来对Bean属性进行验证(此方法自己试了一次,然后琢磨了一段时间,竟然没有试验成功,基于后期用到的可能性不大就没有继续研究)
在action类的包下,要与action类同级别,添加xml文件,action类名-validation.xml,action类中也就不用重写validate方法了
假设action类中有String类型的name和Integer类型的age两个字段,xml文件的内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Definition 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd">
<validators>
<!-- Action中要校验的字段 -->
<field name="name">
<!-- 指定校验器 -->
<field-validator type="requiredstring">
<!-- 配置校验参数 -->
<!-- <param name="trim">false</param>是否移除前后空格 -->
<!-- 校验失败显示信息 -->
<message>用户名不能为空</message>
</field-validator>
<!-- 增加另一个校验器,使用正则校验器
<field-validator type="regex">
<param name="regex">^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$</param>
<message>用户名必须是邮箱</message>
</field-validator> -->
</field>
<!-- 校验年龄字段,整数类型,范围0~120 -->
<field name="age">
<!-- 指定校验器 -->
<field-validator type="int">
<!-- 配置校验参数 -->
<param name="min">0</param>
<param name="max">120</param>
<message>填写的年龄必须在0~120之间</message>
</field-validator>
</field>
</validators>
四,通过配置,还可以指定action中的某个方法,来进行校验,基本不用,说起来还啰嗦,就不写了
初学structs2,表单验证简单补充的更多相关文章
- jquery实现表单验证简单实例
/* 描述:基于jquery的表单验证插件. */ (function ($) { $.fn.checkForm = function (options) { var root = this; //将 ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- 15个最佳的 JavaScript 表单验证库
客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...
- 初学structs2,表单验证
一.简单表单验证示例 structs.xml配置 <struts> <package name="validate" namespace="/valid ...
- JS简单表单验证
这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...
- jQuery Validate 表单验证 — 用户注册简单应用
相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...
- 用jQuery写的最简单的表单验证
近几天完成了关于我们项目的最简单的表单验证,是用jQuery写的,由于之前也一直没学过jQuery,所以自己也是一直处于边摸索边学习的阶段,经过这一段时间的学习,通过查资料啥的,也发现了学习jQuer ...
- angularjs学习第四天笔记(第一篇:简单的表单验证)
您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...
- Struts2之Action三种接收参数形式与简单的表单验证
有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的A ...
随机推荐
- Android 判断现在系统存储器是“手机存储”还是“SD存储”
import android.os.storage.StorageManager; String fileDir = null; StorageManager storageMa ...
- javarebel热部署 (转)
Java web开发部署效率浅析 在进行java web程序开发过程中,经常遇到这种问题,修改一个java文件(*.java),需要重启web服务器(如tomcat,weblogic等),部署项目.而 ...
- U3D Debug.log的问题
今天在测试有yield有关的问题时,发现Debug.log()是异步输出机制.不一定会在调用后立即执行. 在C++有类似问题:std::cout 也不一定会立即输出,加上"\n"或 ...
- Linux 基础入门
实验一(Linux 系统简介): 了解了一些有关Linux的重要人物,以及 实验二(基本概念及操作): Linux终端 1.Terminal(终端):当你切换到其中一个终端后想要切换回图形界面,你可以 ...
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话,iTunes,iBooks )
在网上找到了下在记录下来以后方便用 在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用:
- IOS开发之—— iOS 支付 [支付宝、银联、微信]
支付宝iOSsdk官方下载sdk地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId ...
- Sqlite3 设置插入触发器
需求: 数据库中表t_VerifyCsmDetail需要最多保存10W条记录,超出时删除最旧的那一条. 思路:设置插入触发器.插入前先判断表中记录总数,如果大于99999条,则删除最旧的一条记录. 代 ...
- 【WEB前端经验之谈】时间一年半,或沉淀、或从零开始。
距上次写博客还是有点久了,中间有个写的念头,不过由于不知道写什么也就放弃了. 14年4月份第一份前端工作到现在也有一年半之久了,自己对前端的热爱相对于一年前是有过之而无不及.一年半的时间里自己也成长了 ...
- 关于delete 和 new
关于new和delete,有如下代码 // new_test.cpp #include<iostream> using namespace std; class A { public: A ...
- ionic 项目笔记
最近公司在用ionic 做 微站,项目中难免遇到一些问题.总结如下: 1. 改了Slidebox 动态绑定图片时,页面会显示一片空白,改变窗口大小的时候,图片就出来了,说明动态绑定图片时, ...