MVC检查电子邮件已经存在或不使用Ajax

时间:2018-11-17 17:00:25

标签: javascript c# ajax asp.net-mvc

这是我第一次实施这样的方法:)请对我容易:)我进行了研究,但在进行这项工作时仍然遇到一些问题。我有可以在其中创建用户的页面,我还想检查用户电子邮件是否已经存在。

这是我所做的,但是我仍然可以一遍又一遍地用相同的电子邮件创建用户。谁能帮我或指引我正确的方向!
在此先感谢:)

型号:

 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>

0 个答案:

没有答案