Это первый раз, когда я внедряю что-то вроде этого :), пожалуйста, не беспокойтесь обо мне :) Я провел исследование, но у меня все еще есть некоторые проблемы с получением этой работы.У меня есть страница, где я могу создать пользователя, и я также хочу проверить, что электронная почта пользователя уже существует или нет.
Это то, что я сделал, но я все еще могу создавать пользователя с одним и тем же письмом снова и снова.Может кто-нибудь, пожалуйста, помогите мне или укажите мне правильное направление!
Заранее спасибо:)
Модель:
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>