也许这是一个简单的问题,但我厌倦了寻找它。

我在 AccountViewModels.cs 中有这个(这是一个默认的 MVC5 项目)。

 public class ManageUserViewModel
    {
        [Required]
        [DataType(DataType.Password)]
        [Display(Name = "Current password")]
        public string OldPassword { get; set; }
...

我知道这在后面使用了数据注释,但是当我输入不正确的OldPassword时,我不知道如何更改默认错误消息,现在默认错误消息是错误密码。 ,我想将其更改为另一条消息,请帮助我。

最佳答案

这个简单不用担心,去AccountController.cs中

 // POST: /Account/Manage
 [HttpPost]
 [ValidateAntiForgeryToken]
 public async Task<ActionResult> Manage(ManageUserViewModel model)
 {

……

改变这一点:
if (hasPassword)
{
     if (ModelState.IsValid)
     {
          IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);
          if (result.Succeeded)
          {
               return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess });
          }
          else
          {
               AddErrors(result);
          }
     }
}

为了这:
if (hasPassword)
{
     if (ModelState.IsValid)
     {
          IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);
          if (result.Succeeded)
          {
               return RedirectToAction("Manage", new { Message = ManageMessageId.ChangePasswordSuccess });
          }
          else
          {
               ModelState.AddModelError(string.Empty, "Whatever message do you want to say");
          }
     }
}

就是这样!

编辑:代码审查。

关于c# - 如何更改MVC5的Manage Account中的默认错误信息 "Incorrect password."?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24878000/

10-13 07:46
查看更多