我正在使用远程验证器,但它甚至无法工作,即使调试器也没有跟踪该方法。
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>
我在哪里弄错了? :(
答案 0 :(得分:1)
您的服务器代码&amp;设置似乎很好。确保以下内容
您正在使用TextBoxFor帮助方法生成相关的输入字段标记,它位于表单中。
@using (Html.BeginForm())
{
@Html.TextBoxFor(s => s.StrategyName)
@Html.ValidationMessageFor(s => s.StrategyName)
<input type="submit" value="Submit" />
}
您已经包含了验证所需的JavaScript库。
<script src="~/Scripts/jquery.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>