//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'
}
],

最新文章

  1. 移动端meta
  2. JQuery调用Servlet实现文件下载
  3. 三天学会HTML5——SVG和Canvas的使用
  4. 软件产品案例分析(K米 APP)
  5. MySQL设置当前时间为默认值的方法
  6. asp.net TreeView控件绑定数据库显示信息
  7. 初学java之JFrame窗口模式
  8. Oracle基础 数据库备份和恢复
  9. WCF之安全
  10. JS获得QQ号码的昵称,头像,生日
  11. 这几天有django和python做了一个多用户博客系统(可选择模板)
  12. APP性能测试工具
  13. ural 1091. Tmutarakan Exams(容斥原理)
  14. (75)Wangdao.com第十三天_JavaScript 包装对象
  15. C#基于wpf编写的串口调试助手
  16. 【魔改】莫队算法+组合数公式 杭电多校赛4 Problem B. Harvest of Apples
  17. python --- 21 MRO C3算法
  18. Python知识点整理,基础3 - 字典操作
  19. asp启用父路径
  20. jump display

热门文章

  1. php编译安装参数说明
  2. HBase(三): Azure HDInsigt HBase表数据导入本地HBase
  3. C++11中的Lambda表达式
  4. 【shell】nmap工具的使用
  5. row_number()over(order by id) SQL顺序排列
  6. WCF 遇到 由于线程退出或应用程序请求,已放弃 I/O 操作 ListenerContextInputStream
  7. Linux From Scratch [1]
  8. activiti自定义流程之整合(四):整合自定义表单部署流程定义
  9. activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建
  10. 黄聪:wordpress/wp-admin目录文件