"Remote" 属性不起作用(ASP.net MVC)

"Remote" attribute doesn't work (ASP.net MVC)

我正在尝试使用 [Remote] 验证我的新密码 属性,但是当其他 属性 的验证有效时,它不会在网页上显示任何消息错误。怎么了?

控制器动作

    public JsonResult VerifyNewPassword(ChangePasswordViewModel m)
    {
        return Json(false);

        //return Json(true);
    }

型号

    [Required(ErrorMessage = "New Password is required.")]
    [Remote("VerifyNewPassword", "AccountController", ErrorMessage="Error")]
    [DataType(DataType.Password)]
    public string NewPassword { get; set; }

错误可能在Remote数据注解中,因为您已经使用全名指定了控制器,但您只需要第一部分。

试试这个:

[Required(ErrorMessage = "New Password is required.")]
[Remote("VerifyNewPassword", "Account", ErrorMessage="Error")]
...

注意方法的参数,应该是这样的:

public IActionResult VerifyNewPassword(string newPassword)
{
    if (!_userService.VerifyPassword(newPassword))
    {
        return Json($"Password does not respect security standard.");
    }

    return Json(true);
}