Проверка MVC Электронная почта уже существует или не использует Ajax - PullRequest
0 голосов
/ 17 ноября 2018

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

Это то, что я сделал, но я все еще могу создавать пользователя с одним и тем же письмом снова и снова.Может кто-нибудь, пожалуйста, помогите мне или укажите мне правильное направление!
Заранее спасибо:)

Модель:

 public class A_S_PX2
    {
       public int Id { get; set; }
       [Remote("AddCustomer", "User", HttpMethod = "POST", ErrorMessage = "User with this Email already exists")]
       public string Email_ID { get; set; }
    }

Просмотр модели:

public class user
{
    public int ID { get; set; }
}

Контроллер:

    [HttpPost]
    public JsonResult AddCustomer(user model , string Mail)
    {

        var u = db.PX2.Where(a => a.Id == model.ID && a.Email_ID.Equals(Mail, StringComparison.CurrentCultureIgnoreCase))
                            .FirstOrDefault();
        if (u == null)
        {
            db.PX2.Add(new A_S_PX2 { Email_ID = Mail});
            db.SaveChanges();
            return Json(model, JsonRequestBehavior.AllowGet);
        }

        else
        {
            return Json("Email already exists", JsonRequestBehavior.AllowGet);
        }

    }

    [HttpGet]
    public ActionResult AddUser()
    {
        return View();
    }

Просмотр:

  @Html.ValidationSummary()

  <form id="CreateCustomer">
     <div class="form-group">
       <label>E-mail</label>
         <input type="email"  class="form-control mail">
      </div>

    <div class="form-group">
      <input type="submit" value="Send" id="BtnOpretKundeJS" class="btn">
    </div>

  </form>

$(function () {

    $("#BtnOpretKundeJS").click(function (e) {
        e.preventDefault();
        var model = {
            Mail: $(".mail").val(),
        }
            $.ajax({
                type: 'POST',
                url: '@Url.Action("AddCustomer")',
                dataType: 'json',
                data: {
                    Mail: model.Mail
                },
                success: function (run) {
                    console.log('Ok');
                },
                error: function () {
                    console.log('something went wrong - debug it!');
                }
       });
    });
});

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...