我要检查,如果一个文本框的内容数据库中已经存在,所以我定义了一个VTypes:为什么我定义的VType会被触发三次?
Ext.apply(Ext.form.field.VTypes,{
sampleSetExist: function(val, field) {
alert('triggered');
var result;
Ext.Ajax.request({
url: 'sampleSetExist.action',
params: {
name:val
},
async:false,
success: function(response){
var res = response.responseText;
var jsonObject = Ext.decode(res);
if(jsonObject.exist == true)
result = false;
else
result = true;
}
});
return result;
}
});
和文本框这样的:
{
fieldLabel: 'Name',
itemId: 'sampleSetName',
name: 'ssi.name',
allowBlank: false,
validateOnBlur: true,
validateOnChange: false,
vtype: 'sampleSetExist',
vtypeText: 'The name has exist!'
}
……
当文本框模糊时,验证器函数sampleSetExist将被触发三次。为什么会发生这种情况?
请在http://jsfiddle.net上创建示例 –