Программно установить Ext.TextField, чтобы быть действительным - PullRequest
1 голос
/ 21 сентября 2009

Я сделал свой собственный 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'
});

Проблема в том, что запрос явно асинхронный, поэтому я не могу просто вернуть true, если data.responseText в порядке. В этой функции мне нужно иметь возможность установить «поле», чтобы быть действительным.

Но я не могу найти ничего в Ext API, который показывает, как это сделать? (наверное, я что-то упускаю)

1 Ответ

4 голосов
/ 21 сентября 2009

вернуть true из функции и вызвать field.markInvalid () при ошибке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...