2014-02-10 3 views
0

Быстрый вопрос об удаленной проверке. Я использую Remote, чтобы проверить, действительно ли электронная почта уже используется. Проблема с этим заключается в том, что он мгновенно проверяет, используется ли электронная почта, чего я не хочу. Я хочу, чтобы сообщение об ошибке отображалось ПОСЛЕ того, как вы нажимаете кнопку «Отправить», а не сразу после ввода текстового поля электронной почты. Это возможно?Удаленная проверка MVC после отправки кнопки отправки

Модель:

[System.Web.Mvc.Remote("IsUserEmailAvailable", "Account", ErrorMessage = "Email alrdy in use.")] 

Действие:

[AllowAnonymous] 
public JsonResult IsUserEmailAvailable(string Email) 
{ 
    return Json(!db.UserProfiles.Any(User => User.Email == Email), JsonRequestBehavior.AllowGet); 
} 

Вид:

@model test.Models.RegisterModel 

<script src="~/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery.validate.min.js" type="text/javascript"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 

@using (Html.BeginForm()) { 
    @Html.AntiForgeryToken() 
    @Html.ValidationSummary() 

    <fieldset> 
     <legend>Registration Form</legend> 
     <ol> 
      <li> 
       @Html.LabelFor(m => m.Email) 
       @Html.TextBoxFor(m => m.Email) 
      </li> 
     </ol> 
     <input type="submit" value="Registrera" /> 
    </fieldset> 
} 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

Спасибо!

ответ

0

я решил его с помощью простого кода сети САШ

var userWithRequestedEmail = db.UserAccounts.FirstOrDefault(u => u.Email == SysUser.Email); 

if (userWithRequestedEmail != null) 
//Email alrdy registered 
Смежные вопросы