Я сделал свой собственный custon VType который выполняет AJAX запрос, чтобы проверить, если имя пользователя находится в базе данных:Программным установить Ext.TextField быть действительным
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, который показывает, как это сделать? (Я предполагаю, что я должен быть что-то отсутствует)
Примечание: этот метод не вызывает Validate или IsValid методы поле, чтобы вернуться ложным, если значение делает пас Проверка. Таким образом, простое указание поля как недействительного не будет препятствовать передаче представленных форм – Estevez