这是我的Register View Model
public class RegisterViewModel
{
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
public string ADI { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
[DataType(DataType.Password)]
[MinLength(6, ErrorMessage = "Parola en az 6 karakter olmalıdır!")]
public string PAROLA { get; set; }
[DataType(DataType.Password)]
[System.ComponentModel.DataAnnotations.Compare("PAROLA", ErrorMessage = "Şifre Eşleşmedi!")]
public string PAROLA_DOGRULA { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
[RegularExpression(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Yanlış mail,Lütfen doğru mail Giriniz")]
[Remote("IsExistEmail", "Account", ErrorMessage = "Bu email daha önce kullanımıştır")]
public string EMAIL { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
public string SOYADI { get; set; }
}
这是我的login View Model
public class LoginViewModel
{
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
[DataType(DataType.Password)]
[Remote("CheckLoginPassword", "Account",ErrorMessage ="Girdiğiniz Email kayıtlarımızda bulunamadı.")]
public string PAROLA { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Bu alanı boş bırakmayınız.")]
[RegularExpression(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Yanlış mail,Lütfen doğru mail Giriniz")]
[Remote("CheckLoginMail", "Account", ErrorMessage = "Bu email daha önce kullanımıştır")]
public string EMAIL { get; set; }
}
和User View model
我在自己的观点中使用它
public class UserViewModel
{
public RegisterViewModel Register { get; set; }
public LoginViewModel Login { get; set; }
}
这是我的View
,我用我的UserViewModel
,我想用这个validation Form
Views
,它工作正常,但在我的Controller
中我有一个JsonResult
操作,想检查电子邮件是否存在,问题是我发送JsonResult
操作电子邮件时为空
这是我的View
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @id = "registerForm" }))
{
@Html.ValidationSummary(true)
@Html.ValidationMessage("RegisterErrors", new { @class = "ValidationErrorMessageColor" })
@Html.EditorFor(model => model.Register.ADI, new { htmlAttributes = new { required = "", @class = "myRegisterInput", placeholder = "Ad" } })
@Html.ValidationMessageFor(model => model.Register.ADI, "", new { @class = "ValidationErrorMessageColor" })
@Html.EditorFor(model => model.Register.SOYADI, new { htmlAttributes = new { required = "", @class = "myRegisterInput", placeholder = "Soyad" } })
@Html.ValidationMessageFor(model => model.Register.SOYADI, "", new { @class = "ValidationErrorMessageColor" })
@Html.EditorFor(model => model.Register.EMAIL, new { htmlAttributes = new { required = "", @class = "myRegisterInput", placeholder = "Email" } })
@Html.ValidationMessageFor(model => model.Register.EMAIL, "", new { @class = "ValidationErrorMessageColor" })
@Html.EditorFor(model => model.Register.PAROLA, new { htmlAttributes = new { required = "", @class = "myRegisterInput", placeholder = "Parola" } })
@Html.ValidationMessageFor(model => model.Register.PAROLA, "", new { @class = "ValidationErrorMessageColor" })
@Html.EditorFor(model => model.Register.PAROLA_DOGRULA, new { htmlAttributes = new { required = "", @class = "myRegisterInput", placeholder = "Parolayı onayla" } })
@Html.ValidationMessageFor(model => model.Register.PAROLA_DOGRULA, "", new { @class = "ValidationErrorMessageColor" })
<div class="sign-up">
<input type="submit" value="Hesap oluştur" />
</div>
}
这是我的JsonResult
操作,当我发送电子邮件为空
public JsonResult IsExistEmail(string email)
{
return Json(!dbContext.KULLANICIs.Any(e => e.EMAIL == email), JsonRequestBehavior.AllowGet);
}
此外,我的表格位于popup modal
上。