`
Tracylau
  • 浏览: 66580 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

validation电话号吗,mask

阅读更多
<form-validation> 
  <formset> 
    <constant>//全局常量定义 
      <constant-name>phone</constant-name>//电话号码 
      <constant-value>^\(?(\d{3});\);?[-| ]?(\d{3});[-| ]?(\d{4});$</constant-value> 
    </constant> 
    <form name="loginForm"> //form名称

      <field property="username" depends="required,maxlength,minlength,mask"> //property名称
	<msg name="required" key="username.required"/> //对应properties文件的key(页面显示的错误提示);
	<msg name="maxlength" key="username.maxlength"/> 
	<msg name="minlength" key="username.minlength"/> 
	<msg name="mask" key="username.legal"/> 
	<arg0 name="maxlength" key="${var:maxlength}" resource="false" /> //设置参数
	<arg1 name="minlength" key="${var:minlength}" resource="false" /> 
	<arg2 name="mask" key="${var:mask}" resource="false" /> 
	<var> //变量
	  <var-name>maxlength</var-name> 
	  <var-value>16</var-value> 
	</var> 
	<var> 
	  <var-name>minlength</var-name> 
	  <var-value>6</var-value> 
	</var> 
	<var> 
	  <var-name>mask</var-name> //用户名的规定的字符内
	  <var-value>^[_a-z0-9-]+(._a-z0-9-]+);*a-z0-9-]+(.a-z0-9-]+);*$</var-value> 
	</var> 
      </field> 

      <field property="psw1" depends="required,minlength,twofields"> //两个密码是否一致的检查
	<msg name="required" key="psw1.required"/> 
	<msg name="minlength" key="psw1.minlength"/> 
	<msg name="twofields" key="errors.twofields1"/>//这个是自己定义的~~,在validator-rules.xml中有添加的~~ 
	<arg0 name="minlength" key="${var:minlength}" resource="false" /> 
	<var> 
	  <var-name>minlength</var-name> 
	  <var-value>6</var-value> 
	</var> 
	<var> 
	  <var-name>secondProperty</var-name> 
	  <var-value>confirm1</var-value> 
	</var> 
      </field>
      
      <field property="email" depends="email"> 
	<msg name="email" key="error.email"/> //EMAIL
      </field> 

      <field property="teleph" depends="mask"> //电话号吗
	<msg name="mask" key="error.teleph"/> 
	<arg0 name="mask" key="${var:mask}" resource="false" /> 
	<var> 
		<var-name>mask</var-name> 
		<var-value>${phone}</var-value> 
	</var> 
      </field> 

      <field property="day" depends="range"> //指定范围
	<asg name ="range" key="error.day" /> 
	<arg1 name="range" key="${var:min}" resource="false" /> 
	<arg2 name="range" key="${var:max}" resource="false" /> 
	<var> 
		<var-name>min</var-name> 
		<var-value>1</var-value> 
	</var> 
	<var> 
		<var-name>max</var-name> 
		<var-value>31</var-value> 
	</var> 
      </field> 

    </form> 
  </formset> 
</form-validation> 


以上是validation.xml中的验证.
其中twofields是自己定义了,先写一个类:
package web.common;

import org.apache.commons.validator.ValidatorUtil;
import org.apache.commons.validator.Field;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.GenericValidator;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.validator.Resources;
import javax.servlet.http.HttpServletRequest;

public class VaConsistent {
    public static boolean validateTwoFields( Object bean, ValidatorAction va,
                                             Field field, ActionErrors errors,
                                            HttpServletRequest request); {
        String value = ValidatorUtil.getValueAsString(bean, field.getProperty(););;
        String sProperty2 = field.getVarValue("secondProperty");;
        String value2 = ValidatorUtil.getValueAsString(bean, sProperty2);;
        if (!GenericValidator.isBlankOrNull(value);); {
            try {
                if (!value.equals(value2);); {
                  errors.add(field.getKey();,Resources.getActionError(request, va, field););;
                    return false;
                }
            }
            catch (Exception e); {
                errors.add(field.getKey();,Resources.getActionError(request, va, field););;
                return false;
            }
        }
        return true;
    }
}


   在文件validator-rules.xml中<global>之间加上:
     <validator name="twofields" classname="web.common.VaConsistent" method="validateTwoFields" methodParams="java.lang.Object,
	org.apache.commons.validator.ValidatorAction,
	org.apache.commons.validator.Field,
	org.apache.struts.action.ActionErrors,
	javax.servlet.http.HttpServletRequest"
	depends="required" msg="errors.twofields">

    <javascript><![CDATA[
        function validateTwoFields(form); {
            var bValid = true;
            var focusField = null;
            var i = 0;
            var fields = new Array();;
            oTwoFields = new twofields();;
            for (x in oTwoFields); {
                var field = form[oTwoFields[x][0]];
                var secondField = form[oTwoFields[x][2]("secondProperty");];
                if (field.type == 'text' ||
                    field.type == 'textarea' ||
                    field.type == 'select-one' ||
                    field.type == 'radio' ||
                    field.type == 'password'); {
                    var value;
                    var secondValue;
                    // get field's value
                    if (field.type == "select-one"); {
                        var si = field.selectedIndex;
                        value = field.options[si].value;
                        secondValue = secondField.options[si].value;
                    } else {
                        value = field.value;
                        secondValue = secondField.value;
                    }
                    if (value != secondValue); {
                        if (i == 0); {
                      focusField = field;
                        }
                        fields[i++] = oTwoFields[x][1];
                        bValid = false;
                    }
                }
            }
            if (fields.length > 0); {
                focusField.focus();;
                alert(fields.join('\n'););;
            }
            return bValid;
        }]]></javascript>
      </validator>


这样就OK了.

tracy_katrina束于2005-1-18 22:01
分享到:
评论

相关推荐

    使用FormValidation进行表单验证

    `FormValidation`是一个强大的JavaScript库,它结合了`jQuery`和`Bootstrap`框架,使得表单验证变得更加简单易用。本文将详细介绍如何使用`FormValidation`进行表单验证,并探讨与`jQuery`和`Bootstrap`的集成。 ...

    FormValidation完整源码和演示

    FormValidation框架提供了丰富的内置验证器,涵盖了常见的验证需求,如邮箱、电话号码、日期等。同时,它也允许开发者根据项目需求自定义验证器,通过扩展其API,创建个性化的验证规则。自定义验证器可以极大地提高...

    FormValidation.js

    - **校验规则**:`FormValidation.js` 提供了一系列内置的验证规则,如非空、邮箱、手机号、日期格式等。开发者可以根据需求选择或自定义这些规则。 - **动态添加元素的校验**:在某些交互丰富的Web应用中,用户...

    jakarta.validation-api-2.0.2-API文档-中文版.zip

    赠送jar包:jakarta.validation-api-2.0.2.jar; 赠送原API文档:jakarta.validation-api-2.0.2-javadoc.jar; 赠送源代码:jakarta.validation-api-2.0.2-sources.jar; 赠送Maven依赖信息文件:jakarta.validation...

    validation

    Hibernate Validator提供了丰富的注解和API,用于在运行时验证对象的属性,如电子邮件地址、电话号码等,确保它们符合预定义的规则。4.3.0.Final是这个库的一个特定版本,它可能包含了bug修复和改进,适用于Java SE...

    validation-api-2.0.1.Final-API文档-中文版.zip

    赠送jar包:validation-api-2.0.1.Final.jar; 赠送原API文档:validation-api-2.0.1.Final-javadoc.jar; 赠送源代码:validation-api-2.0.1.Final-sources.jar; 赠送Maven依赖信息文件:validation-api-2.0.1....

    validation-api-2.0.1.Final-API文档-中英对照版.zip

    赠送jar包:validation-api-2.0.1.Final.jar; 赠送原API文档:validation-api-2.0.1.Final-javadoc.jar; 赠送源代码:validation-api-2.0.1.Final-sources.jar; 赠送Maven依赖信息文件:validation-api-2.0.1....

    jakarta.validation-api-2.0.1-API文档-中文版.zip

    赠送jar包:jakarta.validation-api-2.0.1.jar; 赠送原API文档:jakarta.validation-api-2.0.1-javadoc.jar; 赠送源代码:jakarta.validation-api-2.0.1-sources.jar; 赠送Maven依赖信息文件:jakarta.validation...

    jQuery Validation Engine ( jQuery 表单验证插件)

    1. **丰富的预设规则**:该插件内置了多种验证规则,如必填项、电子邮件格式、电话号码、日期等,满足了大多数常见的表单验证需求。 2. **自定义验证**:除了预设规则,Validation Engine还允许开发者创建自定义...

    validation jar包

    首先,`validation-api.jar`是Java Bean Validation API的标准实现,定义了一套标准的验证注解,如`@NotNull`, `@Min`, `@Max`等。`validation-api-1.1.0.beta1.jar`是这个API的一个版本,包含了用于验证对象的规范...

    validation-api-1.1.0.Final-API文档-中文版.zip

    赠送jar包:validation-api-1.1.0.Final.jar; 赠送原API文档:validation-api-1.1.0.Final-javadoc.jar; 赠送源代码:validation-api-1.1.0.Final-sources.jar; 包含翻译后的API文档:validation-api-1.1.0....

    Validation3个jia包 validation-api,hibernate-validator

    `Validation`是Java世界中用于验证对象的有效性的一种机制,它使得我们可以方便地定义和执行数据验证规则。在给定的标题和描述中提到了三个重要的JAR包:`validation-api`, `hibernate-validator`以及`jboss-logging...

    jakarta.validation-api-2.0.1-API文档-中英对照版.zip

    赠送jar包:jakarta.validation-api-2.0.1.jar; 赠送原API文档:jakarta.validation-api-2.0.1-javadoc.jar; 赠送源代码:jakarta.validation-api-2.0.1-sources.jar; 赠送Maven依赖信息文件:jakarta.validation...

    validationprovider_demo

    这可能包括检查输入的长度、格式(如电子邮件地址或电话号码)或特定业务逻辑。在`validationprovider_demo`中,可能有多个示例展示了如何创建和应用这些规则。 3. **错误提示**:当输入不符合验证规则时,`...

    Validation

    在IT领域,"Validation"通常指的是验证,这是一个关键的概念,主要应用于数据输入、软件开发、网络安全等多个场景。在这个上下文中,我们可能是在讨论Web应用程序中的表单验证或者数据库验证等。 首先,表单验证是...

    FormValidation.rar

    《FormValidation:高效表单验证的利器》 在Web开发中,表单验证是一个不可或缺的环节,它确保了用户输入的数据符合预设的规范,从而维护数据的完整性和安全性。"FormValidation"是一款专为此目的设计的强大工具,...

    jquery-validation-1.17.0

    其次,`package.json`是Node.js项目的配置文件,它记录了项目的依赖关系、作者信息、版本号等。在jQuery Validation 1.17.0版本中,通过这个文件可以了解项目所依赖的其他库,如jQuery本身和其他开发或构建工具,这...

    Bean Validation 规范文档

    《Bean Validation规范详解》 Bean Validation是Java平台上用于对象验证的一种标准,旨在提供一种简单而强大的方式来确保Java Bean对象的正确性和完整性。本规范文档深入解析了Bean Validation的各个方面,包括其...

    jQuery-validation.rar

    1. **基本验证**:如非空检查、长度限制、邮箱格式验证、电话号码验证等,这些常见规则可以通过内置的验证方法直接应用。 2. **自定义验证**:允许开发者根据项目需求创建自己的验证规则,提供高度定制化的验证体验...

    validation-api-1.1.0.Final.jar

    Bean Validation API.release版本 JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,现在一共有两个规范:BeanValidation1.0(即JSR303)和BeanValidation1.1(即JSR349),主要用于对数据进行校验,确保输入进来...

Global site tag (gtag.js) - Google Analytics