Модель

!!! Валидация данных на форме происходит через модель

Пример модели:

/**
 * Приложения
 * @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 или нет
Print Friendly, PDF & Email