クライアント側の検証スクリプトに Ajax を含め (フレームワークとして jQuery の控えめな検証を使用)、検証を適切に動作させることは可能ですか?
クライアントがユーザーが入力したデータをサーバーに送信し、返されたデータを調べて、入力されたデータの一部をフェッチされたデータに置き換えるかどうかをユーザーに尋ねる検証シナリオがあります。カスタム javascript が必要なほど十分な処理が行われています。Remote 属性だけを使用することはできません。また、Remote 属性には追加の JavaScript 処理用のフックがありません。
これは提出前に実行する必要があり、提出前に最後に実行するか、最後に実行するものの 1 つでなければならないため、検証の一部にしました。ユーザーが交換に関する質問に「いいえ」と答えた場合、送信は行われません。これは、従来の検証に似た別の方法です。
私の懸念は、定義上、Ajax は非同期であり、検証スクリプトは常に同期ではないにしても、通常は同期であるということです。そのため、Ajax 呼び出しが終了する前に検証ルーチンが値を返す必要があることに直面しています。
jQuery.getJSON 呼び出しの間、jQuery で非同期動作をオフにできることはわかっていますが、それは少し洗練されていません。これは、MVC3 RemoteAttribute クライアント側が行うことですか? より良い方法はありますか?