Используйте конфигурацию validator , чтобы передать пользовательскую функцию проверки, и используйте createDelegate , чтобы настроить параметры, которые будут отправлены на него:
var myValidator = function( value, custom ) {
if ( /* value is valid */ ) {
return true;
}
else {
return 'Field value is not valid';
}
};
new Ext.form.TextField({
fieldLabel: 'A text field',
validator: myValidator.createDelegate(null, [10], true);
});
new Ext.form.TextField({
fieldLabel: 'Another text field',
validator: myValidator.createDelegate(null, [14], true);
});
Пользовательские параметры установлены во втором параметре на createDelegate . Установка третьего параметра на true приведет к тому, что эти пользовательские параметры будут добавлены к параметрам, с которыми была вызвана функция (в данном случае, к значению поля).