リモート検証でクライアント側にフック メソッドを追加することは可能ですか? 電子メールが既に取得されているかどうかを確認したいのですが、それが真の場合は、その電子メール アドレスを持つユーザーを表示するボタンをフォームに追加したいと考えています。
また、電子メールが必要かどうか、または有効な電子メールかどうかも確認します。このボタンは、電子メールが既にデータベースにある場合にのみ表示されます。
(検証自体は機能します。イベントをキャッチして、ビューにボタンを追加したいだけです)
ここにモデルの私のコードがあります
<Remote("ValidateEmail", "User", additionalfields:="UserGuid,PersonGuid", ErrorMessageResourceType:=GetType(Resources.Messages), ErrorMessageResourceName:="UserErrorDuplicateEmail")>
Public Property Email As String
私のJavaScript
function createValidationCheck() {
$("form input").change(function () {
console.log("change")
$("form").valid();
});
$("form").validate({
invalidHandler: function (event, validator) {
console.log("TESTING")
}
})}
これは私の見解の一部です
@Using (Ajax.BeginForm("SaveUserDetail", New AjaxOptions With {.HttpMethod = "Post",
.UpdateTargetId = "displayContainer",
.OnFailure = "PostFailure",
.OnSuccess = "fillDisplayContainer",
.OnComplete = "userDetailFinished"
}))
@<div id="detailInformation">
<h2>@Resources.Labels.UserDetails</h2>
@Html.HiddenFor(Function(m) m.UserGuid)
@Html.HiddenFor(Function(m) m.PersonGuid)
<div class="label">
@Html.LabelFor(Function(m) m.Email)
</div>
<div class="displayForCorrector">
@Html.TextBoxFor(Function(m) m.Email)
@Html.ValidationMessageFor(Function(m) m.Email,Nothing,New With{.id ="ShowEmailList"})
</div>
要するに、検証イベントをキャッチして、jquery 経由で動作を追加するにはどうすればよいですか?