2012-05-11 4 views
3

Я занимаюсь разработкой каркаса eforms, в этом будет множество доступных продуктов, и каждый продукт будет иметь разные формы. При перетаскивании он появится на панели форм, эти данные панели формы будут удалены из файла Json. У нас есть json-файл для каждой формы. Если я хочу добавить проверки в эти поля в формах, это значит, что я могу это сделать, поля формы bcoz доступны в json, которые будут динамически генерироваться при перетаскивании.Проверка в динамически сгенерированных формах в Extjs

Могут ли ребята помочь мне с этим.

спасибо и привет rajNaveen

ответ

2

Вы ассоциирования модели с формами? Если это так, вы можете ввести логику проверки в модель. Например:

Ext.define('MyModel', { 
    extend: 'Ext.data.Model', 
    fields: ['field1', 'field2'], 
    validations: [ 
     { type: 'presence', field: 'field1' } 
    ] 
}); 

Некоторые больше информации о Validations конфигурации: http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.validations

Но вам нужно немного магии, чтобы они работали с формой. Это код от контроллера (с использованием MVC):

onFormSave(): function() { 
    var form = this.form.getForm(), 
     updatedRecord = MyModel.create(); 
    form.updateRecord(updatedRecord); //saved all the data from the form, to empty object 
    var errors = updatedRecord.validate(); //validate the object 
    if (errors.isValid()) { //if the object is valid, then save the data to the model associated with the form. 
     form.updateRecord(form.getRecord()); 
    } 
    else { 
     form.markInvalid(errors); 
    } 
} 

Логика внутри это довольно просто, я создал новый экземпляр объекта и проверить его. Если проверка правильна, сохраните данные в объекте в форме, который будет отправлен, если нет, то отобразите ошибки.

Смежные вопросы