我正在进行eforms框架设计,在这将有多个产品可用,每个产品将有不同的形式。在拖放时它将出现在表单面板中,这些表单面板数据将从Json文件中检索。我们为每个表单都有json文件。如果我想在表单中为这些字段添加验证意味着我该如何实现这一点,bson表格字段在json中可用,它将在拖放时动态生成。
你能帮我解决这个问题。感谢和问候 rajNaveen
答案 0 :(得分:2)
您是否将模型与表单相关联?如果是这样,您可以在模型中加入验证逻辑。 例如:
Ext.define('MyModel', {
extend: 'Ext.data.Model',
fields: ['field1', 'field2'],
validations: [
{ type: 'presence', field: 'field1' }
]
});
有关验证配置的更多信息: 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);
}
}
这里面的逻辑非常简单,我创建了一个新的对象实例并对其进行验证。如果验证正常,则将数据保存到表单中的对象,如果没有,则将其显示,然后显示错误。