初学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中的某个方法,来进行校验,基本不用,说起来还啰嗦,就不写了

时间: 2024-08-02 11:28:55

初学structs2,表单验证简单补充的相关文章

当文本框失去焦点即进行表单验证简单实例

当文本框失去焦点即进行表单验证简单实例:不少的表单验证都有这样的功能,就是当鼠标焦点离开文本框的时候,即刻进行合法性验证,下面就通过一个实例简单介绍一下如何实现此功能,代码实例如下: <script type="text/javascript"> function onblurs(){ if(myform.name.value==""){ alert("姓名不得为空!"); } else if(myform.address.value

jquery实现表单验证简单实例演示

/* 描述:基于jquery的表单验证插件. */ (function ($) { $.fn.checkForm = function (options) { var root = this; //将当前应用对象存入root var isok = false; //控制表单提交的开关 var pwd1; //密码存储 var defaults = { //图片路径 img_error: "img/error.gif", img_success: "img/success.gi

初学structs2,表单验证

一.简单表单验证示例 structs.xml配置 <struts> <package name="validate" namespace="/validate" extends="struts-default" > <action name="ValidateDemo" class="cn.hjp.validate.ValidateDemo"> <result na

AngularJs的一个简单的表单验证

最近学习了AngularJs框架,觉得确实特别有用.之前学习了一点点的ASP.NET,它的控件也是挺好的,不过还是没有AngularJs轻巧. 定义一个应用程序myApp,一个控制器.接着是表单的验证. AngularJs中,表单控件的HTML元素有:input select button textarea元素 其实还算是很简单的例子. 不过我觉得对比起ASP那种庞大的控件来说,它确实很轻巧. AngularJS 输入验证$dirty 表单有填写记录$valid 字段内容合法的$invalid

如何利用jQuery进行简单表单验证

如何利用jQuery进行简单表单验证:利用jQuery可以进行表单验证,当然有比较复杂的表单验证,这里就不介绍了,下面就简单介绍一下如何使用jQuery进行简单的表单验证,然后大家可以通过改造进行基本的表达验证了.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http

最简单的表单验证

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>最简单表单验证</title> 6 <style> 7 form { margin: 20px auto; width: 500px; padding: 20px; border: 1px solid #ccc; box-sh

简单的JS表单验证效果代码

简单的JS表单验证代码:表单验证几乎是不可缺少的,有的表单验证是在后台完成的,有的则是使用JavaScript在在前端完成基本的验证,这样可以有效的减轻服务器的压力,下面就介绍一下JS实现的最简单的表单验证.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://w

jquery 一个简单的表单验证实例

表单验证在网站开发过程中经常遇到,我们可以使用服务器端语言验证,也可以使用客户端语言来验证.本文章向大家介绍jquery客户端验证表单的一个简单实例.实例仅作参考. <body> <form method="post" action=""> <div class="int"> <label for="username">用户名:</label> <!-- 为每个

jQuery简单表单验证效果

jQuery简单表单验证效果:只要有表单的地方,基本都会有表单验证,下面就结合实例简单介绍一下最简单的表单验证,如何防止填写的表单内容为空.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <tit