在Sencha Architect 3.0中创建自定义vType

时间:2014-03-19 12:57:41

标签: extjs sencha-architect

如何在Sencha Architect 3.0中为表单字段验证创建自定义vtypes。我只找到了一种方法来包含已经内置的类型,但我想创建一个自定义类型并包含它。

3 个答案:

答案 0 :(得分:3)

  1. 创建一个新的基于js的资源(或使用现有资源)。
  2. 定义vtype

    Ext.apply(Ext.form.field.VTypes, {
        myFancyValidator: function(val, field) {
            //... returns true if valid, false if not
        }
    }
    
  3. 在项目检查器上,浏览到要验证的字段/编辑器

  4. 应用vtype:'myFancyValidator'

答案 1 :(得分:0)

在建筑师内部,点击项目检查器中的+ 添加菜单。

选择资源 - > JS资源。

将URL设置为某个位置(resources / myVtypes.js)*这是一个文件系统位置,因此除非您需要根目录,否则不要包含路径斜杠。

右键单击资源并选择编辑代码 - 这将显示出来 一个空白文件,您可以将该类粘贴到 - 并在架构师中编辑它。

正常保存项目以更新资源。

答案 2 :(得分:-1)

此处为验证密码数字创建自定义vtype的示例示例:

Ext.define('Ext.form.field.VTypes', {

    pin: /(?!(.)\1\1).{3}/,

    init: function () {
        var me = this;

        //pin number
        this.pinFn();
        //etc..
    },
    pinFn:function () {
        var me = this;

        Ext.apply(Ext.form.field.VTypes, {
            pin:function (val, field) {
                //check value
                return me.pin.test(val);
            },
            pinText: 'Wrong PIN number (numbers cannot be identical)'
        });
    }
});

创建后,您可以在表单中加入

  

{

     

fieldLabel:' PIN码',

     

名称:' pin',

     

minLength:4,

     

maxLength:4,

     

vtype:' pin' // coustom vtype

     

},

相关问题