C# 正在尝试使用远程字段验证

C# 正在尝试使用远程字段验证,c#,asp.net-mvc-4,validation,C#,Asp.net Mvc 4,Validation,我只是想让这首歌第一次成功: 在我的模型中,我有 [Remote("RequireName", "Contact")] [Editable(true)] public string Name { get; set; } 我的控制器里有 public JsonResult RequireName(string Name) { bool resultbool = ((Name != null) && (Name.Length >

我只是想让这首歌第一次成功:

在我的模型中,我有

    [Remote("RequireName", "Contact")]
    [Editable(true)]
    public string Name { get; set; }
我的控制器里有

public JsonResult RequireName(string Name)
    {
        bool resultbool = ((Name != null) && (Name.Length > 0));
        return this.Json(resultbool ? "OK." : "Not OK.", JsonRequestBehavior.AllowGet);
    }
我现在不关心它的结果消息

在生成的HTML中,我有:

<input type="text" value="" name="Name" id="Name" data-val-remote-url="/[mysite]/Contact/RequireName" data-val-remote-additionalfields="*.Name" data-val-remote="'Name' is invalid." data-val="true" class="text-box single-line">
网址http://localhost/[mysite]/Contact/RequireName 返回Not OK.,这是正确的。 统一资源定位地址http://localhost/[mysite]/Contact/RequireName?Name=something 返回OK.,这是正确的

但是,当我编辑字段时,甚至当我提交完整的表单时,验证都不会发生。
我肯定我错过了什么。如果你能帮助我,谢谢你。

在进行了更多的互联网搜索之后,我明白我必须包括jquery.validate.min.js和jquery.validate.unobtrusive.js。听起来很基本,但我还不知道。根据我的经验,客户端验证错误最常见的原因是缺少javascript引用。您可以查看表单上的源代码并发布生成的HTML吗?另外,另一个常见问题是web.config中未启用ClientValidationEnabled和UnobtrusiveJavaScriptEnabled-您检查过吗?这在第3步的“检查您参考的MSDN文章中给出的验证代码”一节中进行了描述。ClientValidationEnabled和UnobtrusiveJavaScriptEnabled都是启用的,我没有特别的javascript包含,我也没有在我遵循和链接的教程中提到javascript包含。我忘了提到,但是标准验证,如[StringLength6,MinimumLength=3]或[Required],在我提交完整表单时效果良好,而不是逐个字段,显然只有[Remote…]验证类型不起作用。