我正在研究带有脚手架的ASP.NET动态数据实体Web应用程序。 脚手架,页面模板即。插入。编辑,详细信息,列表,实体模板Web用户控件都正常工作。
但我的问题是,我想在插入操作期间验证主键。 现在说如果我将主键字段留空,它将使用必填字段验证器进行验证,这与我想要验证主键字段中的重复条目一样。
我甚至在数据模型中尝试过自定义验证器,但无法为其找到合适的解决方案。
任何人都可以帮助我
答案 0 :(得分:1)
正如您告诉我您正在使用MVC,我们在MVC中有一个远程验证,我们可以在模型类属性中应用。
让我告诉你如何:
[Required]
[Remote("IsUserIDExist", "Account", ErrorMessage = "User ID Already Exist")]
[Display(Name = "Enter User ID")]
public string User_username { get; set; }
这是我的属性,位于 Account.cs 模型类。
IsUserIDExist 是帐户控制器中的操作。
现在让我告诉你 IsUserIDExist 行动。
public ActionResult IsDomainIDExist(string User_username)
{
var users = from s in db.CreateUsers
where s.User_username == User_username
select s;
if (users != null)
{
if (users.Count() != 0)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
else
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
else
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
本规范自称。我猜不需要任何解释。
最后但并非最不重要。
您需要添加这些javascript文件才能使用远程验证
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.json-2.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
希望这就是你要找的东西。