можно так проверить
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">
<script>
function processItems(items){
var new_items = [];
if(Ext.isArray(items)){
for(var i = 0; i < items.length; i++){
//проверка на существование xtype
if (Ext.ClassManager.getByAlias('widget.' + items[i].xtype)) {
Ext.Array.include(new_items, items[i]);
}
}
}
return new_items;
}
var form_items = [
{xtype: 'textfieldxxxxx', name: 'fio', fieldLabel: 'ФИО'}, // здесь несуществующий xtype он не попадет в форму
{xtype: 'textfield', name: 'email', fieldLabel: 'Email'}
];
Ext.onReady(function() {
var form = Ext.create('Ext.form.Panel', {
name: 'myloadform',
padding: '5 0 0 5',
frame: true,
region: 'center',
items: processItems(form_items)
});
Ext.create('Ext.container.Viewport', {
layout : 'border',
defaults: {
split: true,
collapsible: true,
collapseMode: 'mini',
hideCollapseTool: true
},
items : [
{
xtype: 'panel',
region: 'center',
layout: 'fit',
items: [
form
]
}
]
});
});
</script>
</head>
<body></body>
</html>