动态数据实体中的实体键属性验证插入页面模板上的Web应用程序

时间:2012-09-14 13:52:18

标签: asp.net

我正在研究带有脚手架的ASP.NET动态数据实体Web应用程序。 脚手架,页面模板即。插入。编辑,详细信息,列表,实体模板Web用户控件都正常工作。

但我的问题是,我想在插入操作期间验证主键。 现在说如果我将主键字段留空,它将使用必填字段验证器进行验证,这与我想要验证主键字段中的重复条目一样。

我甚至在数据模型中尝试过自定义验证器,但无法为其找到合适的解决方案。

任何人都可以帮助我

1 个答案:

答案 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>

希望这就是你要找的东西。