jquery 検証プラグイン エラー コールバックをキャプチャしようとしています。validate を直接呼び出していた場合、これに簡単に接続できることを理解しています。
$('#form').validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
//etc
}
}
});
でも僕はそうじゃない。代わりに、フォームがサーバーに送信され!Model.IsValid
、サーバーが無効なモデルを返し、プレースホルダーにエラーメッセージを入力した場合:
<span data-valmsg-replace="true" data-valmsg-for="Email" class="field-validation-error">This field is required</span>
次のラッパーがあるため、このスパンがいつ更新されてエラー メッセージが表示されるかを知る必要があります。
<div class="errorContainer">
@Html.ValidationMessageFor(m => m.Email) /*This is the span above*/
</div>
エラーメッセージがある場合div.errorContainer { visibility : hidden; }
にのみ表示する必要があります(背景があり、内部にエラーがない限り所属しないため)。
これどうやってするの?サーバー側がカバーされていることを確認した後、クライアント側の検証を組み込む予定であるため、最適な解決策は、クライアント側とサーバー側の両方の検証からのエラーに応答できる場所です。より良い質問だと思いinvalidHandler
ますが、サーバーからコールバックを発生させてエラーを返す方法はありますか?