首页 > 解决方案 > Asp.Net Core 远程验证属性不调用

问题描述

我已经设置了 Remote 属性来验证我的用户名是唯一的,但是当我调试它时它没有触发。我在搞砸什么?

在我的视图模型中,这里是属性和属性:

[Required]
[Remote("VerifyUsername", "Account")]
public string Username { get; set; }

在我的表单中,我的表单属性是:

<input asp-for="Username" class="form-control mb-4" placeholder="Username" />
<span asp-validation-for="Username"></span>

在我的控制器中,我尝试过:

public JsonResult VerifyUsername(string username)
{
    if (!_user.UsernameUnique(username))
    {
        return Json($"{username} is already in use.");
    }

    return Json(true);
}

以及方法格式:

[AcceptVerbs("Get", "Post")]
public IActionResult VerifyUsername(string username)
{
    if (!_user.UsernameUnique(username))
    {
        return Json($" {username} is already in use.");
    }

    return Json(true);
}

我输入一个用户名,然后单击并尝试使用制表符...没有任何东西可以触发远程验证。有人看到我错过了什么吗?

标签: asp.net-core-2.2

解决方案


所以我找到了它……有点像脸。我正在使用另一个正在加载另一个版本的 jquery 的库。我没有收到错误,所以这很奇怪。我删除了那个其他版本的 jquery 的脚本引用,所以它只有当前版本并且一切正常。


推荐阅读