Extjs中手动验证多个url地址和Extjs验证原理

今天琚哥要我把项目中的要输入的 url 地址改为可输入多个 url 地址。我想了想,可以用string中的 split方法对url 地址进行切割放到数组里去,然后进行遍历验证。好了,说了这么多,开工吧大笑

首先我写了一个url 的验证方法

//对urls的vtypes验证
		var urlTest = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
		Ext.apply(Ext.form.VTypes, {
		    urls:function(val,field){
		    var urlArray = [];			//定义一个数组,方便下面存放分割后的url地址
		    urlArray = val.split(",");		//用 split方法进行分割
		    var flag = 0;			//定义一个验证是否通过的标志
		    	for(var i=0;i<urlArray.length;i++){
		    		if(!urlTest.test(urlArray[i])){
		    			flag++;		//循环验证,因为urlTest.test(urlArray[i]是boolean值,所以当验证不通过的时候,就flag++,
		    		}
		    	}
		    	if(flag!=0){			//对flag进行判断,大于0,则不通过
		    		return false;	
		    	}else{
		    		return true;
		    	}
		    },
		    urlsText:'请输入符合规范的url地址',
		});

然后在后面的组件里直接用进行验证即可

vtype:'urls',
本来我一直琢磨验证的原理,现在是弄懂了。

1.首先组件里使用  vtype:'urls',

2.调用上面的验证方法

3.返回truefalse,为 true时不显示错误信息,为false时返回urlsText 里的值:请输入符合规范的url地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值