モデル/ストアのプロキシを使用してextjs 4フォームを送信することは可能ですか? リモート検証のために送信アクションを使用したいと考えています。データベース/サーバー接続を 2 回構成することを回避できるように、モデルの残りのプロキシ構成を使用したいと考えています。
助けてくれてありがとう!
フォームがモデルの 1 つのインスタンスを正確に表している場合、なぜ or ではなく form submit を使用しているのmodel.save();
でしょstore.sync()
うか? これらのメソッドは、データ モデルを操作するために設計されており、ExtJS データの優れた組み込み機能をすべて活用します。
Ext.data.Modelのドキュメントの「プロキシの使用」という小見出しの下に、実行したいさまざまな操作 (GET、PUT、POST、DELETE - ロード、保存、保存、破棄) の例があります。
次に、いくつかのコールバックを model.save() メソッドにアタッチして、操作が成功したか失敗したかを確認できます (おそらくサーバー側の検証による)。
特定のユースケースについて話している Sencha フォーラムの投稿は次のとおりです: ExtJS 4 Sync and success/failure processing
要約すると、サーバー側の検証で次のような JSON コンテンツのエラーが返された場合:
{ "success": "false", "message": "Error message goes here." }
次に、モデルを保存して失敗の応答をキャッチし、追加のメッセージ JSON 要素を使用して、サーバー側の検証に失敗した理由をユーザーに警告できます。もちろん、必要に応じてより詳細な 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"]);
}
});