私の ASP.NET MVC4 アプリケーションには、モデルで定義され、コントローラー メソッドで実装されたリモート検証ルールがあります。私のフォームはページに動的に追加されます。そこで、次のコードを使用して検証をトリガーしました。
$(tabId).on("submit", formId, function (event) {
event.preventDefault();
var form = $(this);
form.removeData("validator");
$.validator.unobtrusive.parse(form);
if (form.valid())
{
// form submission
// THIS part executes even though the remote validation returns false
}
return false;
});
リモート検証を開始し、完了を待たずにフォームを送信します。他のフィールドが有効でない場合 (たとえば、名前が必須フィールドである場合)、送信が停止されます。ただし、リモート検証は待機しません。
SOでlink1やlink2などの回避策を見つけました。ただし、これらは自分のページで jQuery 検証ルールが定義されている場合にのみ機能します。ただし、MVC4 モデルの検証規則を使用しています。したがって、ビュー ページのルールを再度再定義することには興味がありません。
解決するアイデアはありますか?