我已经创建了自己的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中找到任何显示如何执行此操作的内容? (我想我必须遗漏一些东西)
答案 0 :(得分:4)
从函数返回true并在失败时调用field.markInvalid()