vtypes扩展
来源:互联网 发布:常熟淘宝客服招聘 编辑:程序博客网 时间:2024/05/17 06:06
<strong>Ext.apply(Ext.form.field.VTypes, { //首先定义一个vtype名称,和他的验证函数,val参数是文本框的值,field是文本框。一般我就使用val和正则表达式比较就OK了。 //然后定义一个vtype的报错信息,与vtype名称加Text后缀。OK了。 passwd: function(val, field) { if (field.initialPassField) { var pwd = Ext.getCmp(field.initialPassField); return (val == pwd.getValue()); } return true; }, passwdText: '两次输入的密码不一致!', 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(/^((0[1-9]{3})?(0[12][0-9])?[-])?\d{6,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:'请输入英文字母', money:function(val,field) { try { if(/^\d+\.\d{2}$/.test(val)) return true; return false; } catch(e) { return false; } }, moneyText:'请输入正确的金额'});</strong>在页面引入上面新建的文件,在相应界面的组件中定义vtype,即可进行有限验证。
引用示例代码:
//构建一个密码Form var pwd = new Ext.form.Panel({ labelWidth: 125, frame: true, title: '密码验证框', width: 350, renderTo : 'pw', allowDomMove : true, draggable : true, defaults: { width: 175, inputType: 'password' }, defaultType: 'textfield', items: [{ fieldLabel: '密码:', name: 'pass', id: 'pass' },{ fieldLabel: '密码确认:', name: 'pass-cfrm', vtype: 'passwd', initialPassField: 'pass' }] });
其中,initialPassField是自定义的属性,记录上一个password的id,然后在VType的验证函数中取出上一个password组件的值,进行比较。
记住:上一个password必须设置id属性。
- vtypes扩展
- 自己扩展的VTypes
- 关于ext vtypes 的扩展
- Ext中经常用到的VTypes的自定义扩展集。
- Ext.form.VTypes
- Ext.form.VTypes
- Extjs自定义多字段VTypes
- extjs ext.form.vtypes 自定义vtype
- 自定义 Ext.form.VTypes 验证日期范围
- Extjs中Ext.form.VTypes日期大小比较的实例
- Extjs表单验证的编写方法及vtypes集合
- 扩展
- 扩展
- 扩展
- 扩展
- 扩展
- 扩展欧几里得及其扩展
- 扩展CRT&&扩展lucas
- httpclient小例子:获取手机号地址、IP地址获取、POST方式注册用户(乐蜂网)
- linux xargs详解
- java 获取当期路径
- Solr学习总结-查询
- 关于typedef的用法总结
- vtypes扩展
- 五年26个版本:Linux系统内核全程回顾
- Java Unit 多线程 测试
- 不能重载的operator
- Zend Server 的 Apache 共享 WAMP中的 Alias 别名目录的小技巧
- 墨卡托及Web墨卡托投影
- 2012.9.26 安卓游戏开发笔记(十一)_View视图
- 什么是聚集索引
- 骨骼动画的核心,你必须了解的骨骼初始变换矩阵和蒙皮初始变换矩阵!