2

リモート検証でクライアント側にフック メソッドを追加することは可能ですか? 電子メールが既に取得されているかどうかを確認したいのですが、それが真の場合は、その電子メール アドレスを持つユーザーを表示するボタンをフォームに追加したいと考えています。

また、電子メールが必要かどうか、または有効な電子メールかどうかも確認します。このボタンは、電子メールが既にデータベースにある場合にのみ表示されます。

(検証自体は機能します。イベントをキャッチして、ビューにボタンを追加したいだけです)

ここにモデルの私のコードがあります

  <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 経由で動作を追加するにはどうすればよいですか?

4

1 に答える 1

3

私は解決策を見つけました

イベントを追加するには、Javascript にこれを追加するだけです

 $("form").bind('invalid-form.validate',addValidationInvalidHandler)

addValidationInvalidHandler は、フォームが無効になるたびに呼び出される独自の JavaScript 関数です。

于 2013-03-29T09:40:58.230 に答える