有没有办法在一个值上测试一个 vType,而不是在一个表单中?

例如,我实现了一个自定义 vtype 来进行 ajax 验证,但是我也想针对电子邮件 vtype 运行它,所以我希望在我的自定义 vtype 中按照以下方式运行一些东西

validate('[email protected]','email');

最佳答案

你可以使用函数而不是属性,然后你可以直接调用它们:

Ext.apply(Ext.form.VTypes, {

    // Validates an ajax thingy
    ajax: function(v) {
        // validate against email VType
        return Ext.form.VTypes.email(v);
    },

    // Override the default Ext function, to allow oddly-placed hyphens
    email: function(v) {
        var regex = /^[-\w][-+\.\w]*@[-\w\.]+\.[A-Za-z]{2,4}$/;
        return regex.test(v);
    }
}

Ext.form.VTypes.ajax('[email protected]');

关于ExtJS vtype 作为函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6952262/

10-09 23:16