!!! Валидация данных на форме происходит через модель
Пример модели:
/** * Приложения * @class Core.model.applications */ Ext.define('Core.model.applications', { extend: 'Ext.data.Model', displayProperty: 'name', // поле по умолчанию для вывода в combobox idProperty: 'id', // поле которое является идентификатором identifier: 'sequential', // тип генерации первичного ключа fields: [ /** * */ { name: 'id', type: 'int' } , /** * Наименование приложения */ { name: 'name', type: 'string' } , /** * Описание приложения */ { name: 'description', type: 'string' } , /** * Родительская запись */ { name: 'parent_id', type: 'int' } ], validators: { id: 'presence', name: 'presence', description: 'presence', name: { type: 'length', max: 255 } } });
Свойство displayProperty создано «кастомно» и предназначено для указания, какое поле предназначено для отображения по умолчанию (например в выпадающих списках).
Дополнительные значения для полей
Для корректного применения валидации требуется применять следующие свойства для полей:
- defaultValue: any — параметр для указания значения которое должно быть по умолчанию. Например указывать null для полей у которых значение не должно быть null. В этом случаи у поля сработает валидация.
-
allowNull: boolean — параметр указывает что поле может иметь значение null или нет