远程验证不在mvc中工作。

时间:2016-04-15 16:41:53

标签: asp.net-mvc attributes

我正在使用远程验证器,但它甚至无法工作,即使调试器也没有跟踪该方法。

     public JsonResult CheckStrategyName(string StrategyName)
        {
            var ab = from a in db.Sterategy where a.StrategyName == StrategyName select a.StrategyName;

            return !ab.Any() ? Json(true, JsonRequestBehavior.AllowGet) : Json(string.Format("Name Already esists"), JsonRequestBehavior.AllowGet);
        }

我在这里用过它

        [Required]
        [Remote("CheckStrategyName", "St", ErrorMessage = "Already exists ")]     
        [Display(Name = "Name")]
        public string StrategyName { get; set; }

Webconfig

    <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    </appSettings>

我在哪里弄错了? :(

1 个答案:

答案 0 :(得分:1)

您的服务器代码&amp;设置似乎很好。确保以下内容

  1. 您正在使用TextBoxFor帮助方法生成相关的输入字段标记,它位于表单中。

    @using (Html.BeginForm())
    {       
       @Html.TextBoxFor(s => s.StrategyName)
       @Html.ValidationMessageFor(s => s.StrategyName)    
    
       <input type="submit" value="Submit" />
    }
    
  2. 您已经包含了验证所需的JavaScript库。

     <script src="~/Scripts/jquery.js"></script>
     <script src="~/Scripts/jquery.validate.js"></script>
     <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>