"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);
}
我正在尝试使用 [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);
}