Ext vtype
//form验证中vtype的默认支持类型
1.alpha //只能输入字母,无法输入其他(如数字,特殊符号等)
2.alphanum//只能输入字母和数字,无法输入其他
3.email//email验证,要求的格式是"cnblogs@gmail.com"
4.url//url格式验证,
{fieldLabel:"不能为空",
vtype:"email",//email格式验证
vtypeText:"不是有效的邮箱地址",//错误提示信息,默认值我就不说了
id:"blanktest",
anchor:"90%"
}
自定义vtype:
Ext.apply(Ext.form.VTypes, {
daterange: function (val, field) {
var date = field.parseDate(val);
if (!date) {
return;
}
if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) {
var start = Ext.getCmp(field.startDateField);
start.setMaxValue(date);
start.validate();
this.dateRangeMax = date;
}
else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) {
var end = Ext.getCmp(field.endDateField);
end.setMinValue(date);
end.validate();
this.dateRangeMin = date;
}
return true;
},
daterangeText: "开始日期和结束日期不匹配"
});
{
id: 'startdate',
xtype: 'datefield',
width: 190,
maxValue: new Date(),
margins: '0 0 0 6',
labelWidth: 60,
fieldLabel: '(跟进)从',
format: 'Y-m-d',
endDateField: 'enddate',
vtype: 'daterange'
}, {
id: 'enddate',
xtype: 'datefield',
width: 150,
maxValue: new Date(),
margins: '0 0 0 6',
labelWidth: 20,
fieldLabel: '至',
format: 'Y-m-d',
startDateField: 'startdate',
vtype: 'daterange'
}
blankText :
{xtype: 'textfield',
fieldLabel: '票据密押',
anchor: '94%',
name:'draftkey',
id:'draftkey',
allowBlank:false,
blankText :'票据密押不能为空'},
常用的vtype:
Ext.apply(Ext.form.VTypes,
{
daterange: function(val, field)
{
var date = field.parseDate(val); // We need to force the picker to update values to recaluate the disabled dates display
var dispUpd = function(picker)
{
var ad = picker.activeDate;
picker.activeDate = null;
picker.update(ad);
}; if (field.startDateField)
{
var sd = Ext.getCmp(field.startDateField);
sd.maxValue = date;
if (sd.menu && sd.menu.picker)
{
sd.menu.picker.maxDate = date;
dispUpd(sd.menu.picker);
}
}
else if (field.endDateField)
{
var ed = Ext.getCmp(field.endDateField);
ed.minValue = date;
if (ed.menu && ed.menu.picker)
{
ed.menu.picker.minDate = date;
dispUpd(ed.menu.picker);
}
}
return true;
}, password: function(val, field)
{
if (field.initialPassField)
{
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwordText: '两次输入的密码不一致!', chinese:function(val,field)
{
var reg = /^[/u4e00-/u9fa5]+$/i;
if(!reg.test(val))
{
return false;
}
return true;
},
chineseText:'请输入中文', age:function(val,field)
{
try
{
if(parseInt(val) >= 18 && parseInt(val) <= 100)
return true;
return false;
}
catch(err)
{
return false;
}
},
ageText:'年龄输入有误', alphanum:function(val,field)
{
try
{
if(!//W/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphanumText:'请输入英文字母或是数字,其它字符是不允许的.', url:function(val,field)
{
try
{
if(/^(http|https|ftp):////(([A-Z0-9][A-Z0-9_-]*)(/.[A-Z0-9][A-Z0-9_-]*)+)(:(/d+))?//?/i.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
urlText:'请输入有效的URL地址.', max:function(val,field)
{
try
{
if(parseFloat(val) <= parseFloat(field.max))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxText:'超过最大值', min:function(val,field)
{
try
{
if(parseFloat(val) >= parseFloat(field.min))
return true;
return false;
}
catch(e)
{
return false;
}
},
minText:'小于最小值', datecn:function(val,field)
{
try
{
var regex = /^(/d{4})-(/d{2})-(/d{2})$/;
if(!regex.test(val)) return false;
var d = new Date(val.replace(regex, '$1/$2/$3'));
return (parseInt(RegExp.$2, 10) == (1+d.getMonth())) && (parseInt(RegExp.$3, 10) == d.getDate())&&(parseInt(RegExp.$1, 10) == d.getFullYear());
}
catch(e)
{
return false;
}
},
datecnText:'请使用这样的日期格式: yyyy-mm-dd. 例如:2008-06-20.', integer:function(val,field)
{
try
{
if(/^[-+]?[/d]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
integerText:'请输入正确的整数', minlength:function(val,field)
{
try
{
if(val.length >= parseInt(field.minlen))
return true;
return false
}
catch(e)
{
return false;
}
},
minlengthText:'长度过小', maxlength:function(val,field)
{
try
{
if(val.length <= parseInt(field.maxlen))
return true;
return false;
}
catch(e)
{
return false;
}
},
maxlengthText:'长度过大', ip:function(val,field)
{
try
{
if((/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(val)))
return true;
return false;
}
catch(e)
{
return false;
}
},
ipText:'请输入正确的IP地址', phone:function(val,field)
{
try
{
if(//(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}//.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
phoneText:'请输入正确的电话号码,如:0920-29392929', mobilephone:function(val,field)
{
try
{
if(/(^0?[1][35][0-9]{9}$)/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
mobilephoneText:'请输入正确的手机号码', alpha:function(val,field)
{
try
{
if( /^[a-zA-Z]+$/.test(val))
return true;
return false;
}
catch(e)
{
return false;
}
},
alphaText:'请输入英文字母'
});
items:[
{
fieldLabel:'非空验证',
name:'name',
allowBlank: false,
blankText:'不能为空'
},//allowBlank是否为空的验证,blankText提示文本
{
xtype:'textfield',
name:'email',
fieldLabel:'邮件验证',
allowBlank:false,
blankText:'邮件不能为空',
vtype:'email',
vtypeText:'您输入的邮箱地址不合法'
},//vtype为extjs自动验证的一些属性
{
xtype:'textfield',
name:'length',
fieldLabel:'验证指定长度',
allowBlank:false,
blankText:'不能为空',
minLength:5,
maxLength:10,
},
{
name:'english',
fieldLabel:'全部英文',
allowBlank:false,
blankText:'不能为空',
vtype:'alpha',
vtypeText:'请输入英文'
},
{
name:'numberAndApl',
fieldLabel:'字母与数字',
allowBlank:false,
blankText:'不能为空',
vtype:'alphanum',
vtypeText:'只能是数字和字母'
},
{
xtype:'textfield',
name:'url',
fieldLabel:'网址',
allowBlank:false,
blankText:'不能为空',
vtype:'url',//如:http://www.baidu.com
vtypeText:'请输入正确的网址格式'
},
{
name:'youzheng',
fieldLabel:'邮政编码',
allowBlank:false,
blankText:'不能为空',
regex:/^[1-9]{1}(\d){5}$/,
regexText:'请输入正确的邮政编码'
},
{
xtype:'textfield',
name:'chinese',
fieldLabel:'汉字',
allowBlank:false,
blankText:'不能为空',
regex:/^[\u4E00-\u9FA5]+$/,
regexText:'请输入汉字'
},
{
xtype:'textfield',
name:'telephone',
fieldLabel:'手机号码',
allowBlank:false,
blankText:'不能为空',
regex:/^1[\d]{10}$/,
regexText:'手机号码必须是1开头的,后面跟10位数字结尾'
},
{
xtype:'textfield',
name:'phone',
fieldLabel:'电话号码',
allowBlank:false,
blankText:'电话号码不能空',
regex:/^0(\d{2}|\d{3})\-(\d{7}|\d{8})$/,
regexText:'电话号码必须如:0xx-1234344'
},
{
xtype:'textfield',
name:'ip',
fieldLabel:'ip地址',
allowBlank:false,
blankText:'不能为空',
regex:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,
regexText:'请输入Ip地址'
},
{
xtype:'textfield',
name:'id',
fieldLabel:'身份证',
allowBlank:false,
blankText:'不能为空',
regex:/(^\d{15}$)|(^\d{17}([0-9]|[x,X])$)/,
regexText:'请输入正确的身份证号码,15位或者18位...15全为数字,18位最后一位可能是数字也可能是x',
},
{
xtype:'textfield',
name:'time',
fieldLabel:'使用自定义时间格式',
allowBlank:false,
blankText:'不能为空',
vtype:'time'
}
],
最新文章
- 移动端meta
- JQuery调用Servlet实现文件下载
- 三天学会HTML5——SVG和Canvas的使用
- 软件产品案例分析(K米 APP)
- MySQL设置当前时间为默认值的方法
- asp.net TreeView控件绑定数据库显示信息
- 初学java之JFrame窗口模式
- Oracle基础 数据库备份和恢复
- WCF之安全
- JS获得QQ号码的昵称,头像,生日
- 这几天有django和python做了一个多用户博客系统(可选择模板)
- APP性能测试工具
- ural 1091. Tmutarakan Exams(容斥原理)
- (75)Wangdao.com第十三天_JavaScript 包装对象
- C#基于wpf编写的串口调试助手
- 【魔改】莫队算法+组合数公式 杭电多校赛4 Problem B. Harvest of Apples
- python --- 21 MRO C3算法
- Python知识点整理,基础3 - 字典操作
- asp启用父路径
- jump display
热门文章
- php编译安装参数说明
- HBase(三): Azure HDInsigt HBase表数据导入本地HBase
- C++11中的Lambda表达式
- 【shell】nmap工具的使用
- row_number()over(order by id) SQL顺序排列
- WCF 遇到 由于线程退出或应用程序请求,已放弃 I/O 操作 ListenerContextInputStream
- Linux From Scratch [1]
- activiti自定义流程之整合(四):整合自定义表单部署流程定义
- activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建
- 黄聪:wordpress/wp-admin目录文件