我在ExtJS中构建一个应用程序,我有一个提交失败函数的表单,如下所示:
buttons:[{
text: 'Bestil',
id:'button_bestil',
width:85,
handler: function(){
create.getForm().submit({
success: function(f,a){
//do stuff!
},
failure: function(f,a){
Ext.Msg.alert('Fejl', 'Error');
}
});
}
}]
现在我想要的是从没有填写正确的字段中显示错误的原因。
F.X。我有一个带有以下内容的文本域:
vtypeText:'Please type in valid email',
vtype:'email'
我发现我可以使用a.resultType.
它返回“客户端”。现在我如何得到实际的错误信息。
希望这是有道理的
/淑娜
答案 0 :(得分:4)
从我收集的内容 - 您想向用户报告所有无效字段的列表以及每个字段的原因吗?
可以使用以下代码完成:
YOUR_FORM.getForm().items.each(function( item ) {
if(item.getActiveError()){
alert('Field: '+item.name+ ' Error: ' + item.getActiveError());
}
});
其中YOUR_FORM是封装表单的formpanel组件的名称。
这样做是循环遍历表单中的每个字段,如果有错误(它无效),它会向用户报告。为了用户的健全,您可以将每个错误行添加到变量中,然后在最后生成单个消息,而不是单独报告每个错误行。
即:
var ERROR_STRING;
YOUR_FORM.getForm().items.each(function( item ) {
if(item.getActiveError()){
ERROR_STRING=ERROR_STRING+"The field '"+item.name+ "' is invalid, reason: " + item.getActiveError() + "<br />";
}
});
if(ERROR_STRING.length>0){
Ext.MessageBox.alert('Error',ERROR_STRING);
}