Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation ASP Core 1.0 RC2中远程未触发_Validation_Asp.net Core - Fatal编程技术网

Validation ASP Core 1.0 RC2中远程未触发

Validation ASP Core 1.0 RC2中远程未触发,validation,asp.net-core,Validation,Asp.net Core,验证时,远程属性未向控制器触发。有人知道为什么没有吗 我有以下课程: public class XUser{ [Required] [Range(0, 100, ErrorMessage = "This is an incorrect ID")] //Just a test public int ID { get; set; } [Required] [Remote("CheckUsername", "Home")] public string

验证时,远程属性未向控制器触发。有人知道为什么没有吗

我有以下课程:

public class XUser{
    [Required]
    [Range(0, 100, ErrorMessage = "This is an incorrect ID")] //Just a test
    public int ID { get; set; }

    [Required]
    [Remote("CheckUsername", "Home")]
    public string Name { get; set; }

    [Required]
    [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage ="This is not an email adres!")]
    public string Email { get; set; }
}
以下控制器:

[HttpGet]
public IActionResult Edit(Int64 id) {
    return View(users.Where(u => u.ID == id).SingleOrDefault());
}

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit(XUser user) {
    if (ModelState.IsValid) {
        return RedirectToAction("Index");
    } else {
        return View(user);
    }
}

[HttpGet]
public JsonResult CheckUsername(string Name) {
    return Json(false);
}
最后但并非最不重要的是,以下观点:

@model XUser
@using (Html.BeginForm("Edit", "Home", FormMethod.Post)) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    @Html.EditorFor(Model => Model.ID) @Html.ValidationMessageFor(Model => Model.ID)
    @Html.EditorFor(Model => Model.Name) @Html.ValidationMessageFor(Model => Model.Name)
    @Html.EditorFor(Model => Model.Email) @Html.ValidationMessageFor(Model => Model.Email)
    <input type="submit" value="Save" />
}

如果其他人也会提出同样的问题,我会回答我自己的问题以供进一步参考。我可以在解决方案资源管理器中看到它,但是有些事情你只是忽略了,可以节省很多时间

使用Fiddler时,我发现没有找到JQuery文件。这些路径与MVC4.0/5.0路径不再匹配。 他们已从:

~/Scripts/jquery.validate.min.js
~/Scripts/jquery.validate.unobtrusive.min.js
致:


进一步;AllowAnonymous没有义务将作为属性与Remote[](对于HttpPost或HttpGet)一起使用。

什么是ASP核心2.0@曾:那应该是1.0
//Class
[Required]
[Remote("CheckUsername", "Home", HttpMethod = "POST")]
public string Name { get; set; }
//Controller
[HttpPost]
[AllowAnonymous]
public JsonResult CheckUsername(string Name) {
    return Json(false);
}
~/Scripts/jquery.validate.min.js
~/Scripts/jquery.validate.unobtrusive.min.js
~/lib/jquery-validation/dist/jquery.validate.js
~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js