mej*_*l57 6 c# asp.net asp.net-mvc-5
也许这是一个简单的问题,但我已经厌倦了寻找它.
我在AccountViewModels.cs中有这个(这是一个默认的MVC5项目).
public class ManageUserViewModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
...
Run Code Online (Sandbox Code Playgroud)
我知道这会使用Data Annotations,但我不知道如何在输入错误的OldPassword时更改默认错误消息,现在的默认错误消息是密码错误.我想换另一条消息,请帮助我.
jcr*_*z92 12
这很简单,不用担心,转到AccountController.cs中
// POST: /Account/Manage
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Manage(ManageUserViewModel model)
{
Run Code Online (Sandbox Code Playgroud)
....
改变这个:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了这:
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
而已!
编辑:代码审查.
| 归档时间: |
|
| 查看次数: |
2646 次 |
| 最近记录: |