Forms ExtJS4使用模型代理提交表单

Forms ExtJS4使用模型代理提交表单,forms,rest,extjs,extjs4,extjs-mvc,Forms,Rest,Extjs,Extjs4,Extjs Mvc,是否可以使用模型/存储的代理提交ExtJS4表单。出于远程验证的原因,我想使用提交操作。我想使用模型中的rest代理配置,这样就可以避免两次配置数据库/服务器连接 谢谢你的帮助 如果表单正好代表模型的一个实例,为什么要使用表单提交而不是model.save()或存储.sync()?这些方法是为使用您的数据模型而设计的,并利用了ExtJS数据的所有内置功能 在副标题“使用代理”下,有您可能需要执行的各种操作的示例(获取、放置、发布、删除-又名加载、保存、保存、销毁) 然后可以将一些回调附加到mod

是否可以使用模型/存储的代理提交ExtJS4表单。出于远程验证的原因,我想使用提交操作。我想使用模型中的rest代理配置,这样就可以避免两次配置数据库/服务器连接


谢谢你的帮助

如果表单正好代表模型的一个实例,为什么要使用表单提交而不是
model.save()
存储.sync()
?这些方法是为使用您的数据模型而设计的,并利用了ExtJS数据的所有内置功能

在副标题“使用代理”下,有您可能需要执行的各种操作的示例(获取、放置、发布、删除-又名加载、保存、保存、销毁)

然后可以将一些回调附加到model.save()方法,以便知道操作是否成功(可能是由于服务器端验证)

这里有一篇Sencha论坛帖子,讨论您的特定用例:

总结是,如果服务器端验证返回了JSON内容错误,例如:

{ "success": "false", "message": "Error message goes here." }
然后,您可以保存您的模型并捕获失败响应,并使用额外的messagejson元素来提醒用户它为什么未能通过服务器端验证。当然,如果愿意,您可以返回更详细的JSON消息,但这证明了这个概念。扩展以适合您的应用程序

myExtModelInstance.save({
    success: function(rec, op) {
        // do something
    },
    failure: function(rec, op) {
        // Lets show a message for the failure with the 
        // content from the server's returned failure JSON
        Ext.Msg.alert("Failed",op.request.scope.reader.jsonData["message"]);
    }
});