クライアント側の検証を伴うフォーム送信にMVC3Ajax.BeginForm呼び出しを使用しています。入力フィールドの1つは郵便番号(郵便番号)であり、フォーマットを検証するだけでなく、約200万エントリのデータベーステーブルに存在するかどうかも確認したいと思います。
私が選んだ解決策は、BeginForm OnBegin呼び出しを使用して、送信前にルックアップを実行し、郵便番号が存在しない場合は、それを受け入れるか再入力するかをユーザーに提供することでした。別のAjax呼び出しを使用して郵便番号検索を実行しています
問題は、内部Ajax呼び出しが返されるのを待って、外部呼び出しに戻る前に応答を処理する必要があることですが、これは非同期呼び出しであるため、内部Ajaxが完了する前に関数が続行します。
いくつかの好ましくない解決策を見ることができます。たとえば、内部のAjax呼び出しを同期化する、送信ボタンのクリックイベントをキャッチするなどですが、誰もがクリーンで邪魔にならない解決策を提案しています。
ありがとうございました。