ExtJS中使用vtype
在
ExtJS
中
vtype
相当于一个预定义的客户端数据校验,每一种
vtype
都对应某一种特定的数据校验,比如说
Email
,
IP
地址,手机号等等。为了能够正确的使用它,需要注意以下四个方面:
-
在
onReady
方法中,必须调用
Ext.QuickTips.init();
方法,我是花了九牛二虎之力才发现这个的。因为我是从别的地方直接拷贝了一个
FormPanel
的定义,结果没有这个调用,因此校验错误的提示就
TMD
显示不出来。最后一步一步的检查在发现需要这个方法来初始化
Ext
中所有类似
hint
的显示功能。
-
还需要调用
Ext.form.Field.prototype.msgTarget = ‘side’;
方法,这个方法的作用是在需要校验的字段右边显示一个小叹号。
-
在需要校验的字段中用
vtype
设定相应的校验类型,如:
email
、
url
、
alphamun
等等,
ExtJs
本身仅仅定义了不多的几个。我们可以自定义,这就好像是
struts2
中自定义
validation
一样。
-
如果不定义
vtypeText
,那么在字段校验出错时,将会显示默认的错误信息,我们可以通过设置
vtypeText
来改变这一默认情况。
对于自定义
vtype
来说是通过以下方式来实现的:
Ext.apply(Ext.form.VTypes,{
xyz1 : function() {},
xyz2 : function() {}
});
其中
xyz1
和
xyz2
就是
vtype
的名字,方法是
fuction(val, field);
其中
val
代表了当前字段的值,而
field
表示的是当前字段的一个引用,通过这个引用可以访问在当前字段上定义的其他属性;