您的位置:首页 > Web前端 > JavaScript

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

2013-12-18 15:51 204 查看
今天琚哥要我把项目中的要输入的 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地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: