Я сделал удаленную проверку в моем проекте, чтобы избежать дублирования записей в БД.Мои метаданные выглядят так:
[Remote("CheckUserName", "Home", ErrorMessage = "This is a duplicate program ")]
public string UserName { get; set; }
И внутри моего HomeController у меня есть такая функция
public JsonResult CheckUserName(string UserName)
{
if (!RUser.DupUserName(UserName))
{
return Json(true, JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
В моем представлении создания
<td>@Html.EditorFor(model => model.UserName)</td>
<td>@Html.ValidationMessageFor(model => model.UserName)</td>
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
в хранилище
public bool DupUserName(string UserName)
{
int q = (from a in db.Tbl_User
where a.UserName.Equals(UserName)
select a).Count();
return Convert.ToBoolean(q);
}
Все выглядит хорошо для меня, но эта проверка не работает.Кто-нибудь может указать, что я здесь делаю неправильно?Я также попытался использовать перегрузку RemoteAttribute, но она не работает.