ExtJS5 - 使用vtype自定义表单域的验证规则
2015-12-17 16:10
489 查看
ExtJS内置提供的表单域验证规则比较简单,仅支持alpha(英文字母)、alphanum(英文字母和数字)、email(电子邮箱)、url(网址)四种格式,使用方式如下:
好在ExtJS提供了比较好的扩展机制,允许通过扩展Ext.form.field.VTypes类来自定义自己需要的验证规则,这里以验证用户输入是否为有效的IP地址为例。
首先,扩展Ext.form.field.VTypes类,自定义验证规则:
ip:自定义的vtype属性值,使用合适的正则表达式对用户输入进行验证,通过则返回true,否则返回false。参数val是该表单域的值,field指该表单域元素。
ipText:用户自定义的错误提示信息。
ipMask:其值为正则表达式,过滤非法的键盘输入。比如这里用户只能输入数字和“.”操作符,输入其他字符会自动被忽略。
同一组验证规则的属性名称必须一致,符合 xx、xxText、xxMask 的形式。
在表单域中调用自定义的验证规则:
可见,合理运用ExtJS的表单验证扩展机制,可以实现非常强大的前端验证。另外,还可以利用表单域的allowBlank、maxLength、minLength及针对numberfield的maxValue、minValue实现非空、最大(小)长度、最大(小)值等基础验证。
{ xtype: "textfield", fieldLabel: "Email", name: "email", vtype: "email", //使用电子邮箱格式校验 vtypeText: "请输入正确的电子邮箱格式!" //重写预定义的错误提示信息 }
好在ExtJS提供了比较好的扩展机制,允许通过扩展Ext.form.field.VTypes类来自定义自己需要的验证规则,这里以验证用户输入是否为有效的IP地址为例。
首先,扩展Ext.form.field.VTypes类,自定义验证规则:
//IP地址验证 Ext.apply(Ext.form.field.VTypes, { ip: function(val, field) { return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(val); }, ipText: "请输入正确格式的IP地址!", ipMask: /[\d\.]/i });
ip:自定义的vtype属性值,使用合适的正则表达式对用户输入进行验证,通过则返回true,否则返回false。参数val是该表单域的值,field指该表单域元素。
ipText:用户自定义的错误提示信息。
ipMask:其值为正则表达式,过滤非法的键盘输入。比如这里用户只能输入数字和“.”操作符,输入其他字符会自动被忽略。
同一组验证规则的属性名称必须一致,符合 xx、xxText、xxMask 的形式。
在表单域中调用自定义的验证规则:
{ xtype: "textfield", fieldLabel: "IP", name: "ip", vtype: "ip" }
可见,合理运用ExtJS的表单验证扩展机制,可以实现非常强大的前端验证。另外,还可以利用表单域的allowBlank、maxLength、minLength及针对numberfield的maxValue、minValue实现非空、最大(小)长度、最大(小)值等基础验证。
相关文章推荐
- 【学习笔记javascript设计模式与开发实践(迭代器模式)----7】
- 判断JS对象是否拥有某属性的方法举例
- ExtJS5 - 编码规范
- [Servlet&JSP] JSTL的使用
- JVM监控工具:jps、jstat、jinfo、jmap、jhat、jstack使用介绍
- JavaScript判断数据类型
- ExtJS5 - 认识MVVM
- js中的double
- JSON介绍
- js获取网页高度(详细整理)
- 如何学习javascript
- JS 模板引擎 Handlebars.js 中文说明
- JavaScript数据类型
- JS订阅方法
- javascript对象之javascript数组
- JS实现alert中显示换行的方法
- Json序列化和反序列化之jackson
- JavaScript中Function函数与Object对象的关系
- phonegap+百度地图导航(JS版)
- js回车监听按钮事件(火狐IE 兼容)