1

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

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

我什至在数据模型中尝试了自定义验证器,但找不到合适的解决方案。

谁能帮帮我

4

1 回答 1

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>

希望这就是你要找的。

于 2012-09-14T14:41:54.097 回答