2013-03-28 2 views
2

Можно ли добавить метод hook на стороне клиента с удаленной проверкой? Я хочу проверить, было ли уже отправлено письмо, и если это правда, я хочу добавить кнопку в мою форму, которая покажет пользователю этот адрес электронной почты.ASP.NET MVC Удаленный метод проверки валидации

примечание Я также проверяю, требуется ли электронная почта или действительное электронное письмо. кнопка должна показывать только, когда письмо уже находится в базе данных.

(сама проверка работы, я просто хочу, чтобы поймать событие и добавить кнопку на мой взгляд)

вот мой код в модели

<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?

+0

I нашел решение Просто добавьте следующую строку: $ ("form"). bind ('invalid-form.validate', addValidationInvalidHandler) – LaMa

ответ

3

Я нашел решение

Чтобы добавить событие просто добавьте это в Javascript

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

addValidationInvalidHandler мой собственный Java-функция, получить называется каждый раз моя форма не является действительным

+0

Отлично ... мне это помогло. Если вы просто установите флажок '$ ('form'). Valid()' он действителен, но удаленная проверка не удалась ... этот крючок сделал это и разрешил мне сбросить значок Spinner загрузки. –

Смежные вопросы