MVC 中用于验证的远程属性不起作用

Remote attribute for validation in MVC not working

这是我的代码呈现为 HTML

的样子
<input data-val="true" data-val-remote="User name already exists. Please enter a different user name." data-val-remote-additionalfields="*.Name" data-val-remote-url="/OrchardLocal/Genealex.CRM.Core/Home/doesNameExist" data-val-required="Enter Name" id="typeName" name="TypeType.Name" type="text" value="">

这是我模型中的 属性

[Remote("doesNameExist", "Home", ErrorMessage = "User name already exists. Please enter a different user name.")]
public string Name { get; set; }

我控制器中的动作:

[HttpPost]
public JsonResult doesNameExist(string Name)
{
    var user = _contactBll.DoesTypeExist(Name);
    if (user)
    {
        return Json("Username is already exist", JsonRequestBehavior.AllowGet);
    }

    return Json(true, JsonRequestBehavior.AllowGet);
}

在我看来我有:

@Html.TextBoxFor(model => model.TypeType.Name, new { id = "typeName" })

我还包含了这样的脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script>

然而,当我离开文本框的焦点时,在我在输入字段中写了一些东西之后,验证没有被触发。

我做错了什么?

我的错误如下:

[HttpPost]
public JsonResult doesNameExist(string Name)
{
    var user = _contactBll.DoesTypeExist(Name);
    if (user)
    {
        return Json("Username is already exist", JsonRequestBehavior.AllowGet);
    }

    return Json(true, JsonRequestBehavior.AllowGet);
}

我需要在我的控制器上使用 [HttpGet],而不是 [HttpPost]。将其打开并正常工作。