有关远程验证的快速问题。我使用Remote来检查电子邮件是否已被使用。问题是它立即检查电子邮件是否正在使用,我不想要。我希望在您单击提交按钮后显示错误消息,而不是在您从电子邮件文本框中选择时立即显示错误消息。这可能吗?
型号:
[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 :(得分:0)
我使用简单的aspnet代码解决了它,
var userWithRequestedEmail = db.UserAccounts.FirstOrDefault(u => u.Email == SysUser.Email);
if (userWithRequestedEmail != null)
//Email alrdy registered