以编程方式将Ext.TextField设置为有效

时间:2009-09-21 08:44:51

标签: extjs

我已经创建了自己的custon vtype,它执行ajax请求以检查数据库中是否有用户名:

Ext.apply(Ext.form.VTypes, {

    username: function(val, field) {
        var conn = new Ext.data.Connection();
        conn.request({
            url: '/account/CheckUsernameAvailability',
            params: { "username": val },
            success: function(data) {
                console.log("field = ", field);
                console.log(data.responseText);
            },
            failure: function() {
                Ext.Msg.alert('Status', 'Unable to add vote');
            }
        });
    },

    usernameText: 'Username is already taken'
});

问题是请求显然是异步的,所以如果data.responseText没问题我就不能返回true。在这个函数中,我需要能够将“field”设置为有效。

但我似乎无法在Ext API中找到任何显示如何执行此操作的内容? (我想我必须遗漏一些东西)

1 个答案:

答案 0 :(得分:4)

从函数返回true并在失败时调用field.markInvalid()