ExtJS中使用vtype

  • Post author:
  • Post category:其他



ExtJS中使用vtype






ExtJS





vtype


相当于一个预定义的客户端数据校验,每一种


vtype


都对应某一种特定的数据校验,比如说


Email





IP


地址,手机号等等。为了能够正确的使用它,需要注意以下四个方面:








  1. onReady


    方法中,必须调用


    Ext.QuickTips.init();


    方法,我是花了九牛二虎之力才发现这个的。因为我是从别的地方直接拷贝了一个


    FormPanel


    的定义,结果没有这个调用,因此校验错误的提示就


    TMD


    显示不出来。最后一步一步的检查在发现需要这个方法来初始化


    Ext


    中所有类似


    hint


    的显示功能。





  2. 还需要调用


    Ext.form.Field.prototype.msgTarget = ‘side’;


    方法,这个方法的作用是在需要校验的字段右边显示一个小叹号。





  3. 在需要校验的字段中用


    vtype


    设定相应的校验类型,如:


    email





    url





    alphamun


    等等,


    ExtJs


    本身仅仅定义了不多的几个。我们可以自定义,这就好像是


    struts2


    中自定义


    validation


    一样。





  4. 如果不定义


    vtypeText


    ,那么在字段校验出错时,将会显示默认的错误信息,我们可以通过设置


    vtypeText


    来改变这一默认情况。





对于自定义


vtype


来说是通过以下方式来实现的:




Ext.apply(Ext.form.VTypes,{


xyz1 : function() {},


xyz2 : function() {}


});



其中


xyz1





xyz2


就是


vtype


的名字,方法是


fuction(val, field);


其中


val


代表了当前字段的值,而


field


表示的是当前字段的一个引用,通过这个引用可以访问在当前字段上定义的其他属性;