gpt4 book ai didi

.net - 如何在 ASP.NET MVC 3 中正确实现 "Confirm Password"?

转载 作者:行者123 更新时间:2023-12-03 09:00:22 25 4
gpt4 key购买 nike

已经有 answered question关于同一主题,但由于它是从 09 年开始的,我认为它已经过时了。

如何在 ASP.NET MVC 3 中正确实现“确认密码”?

我在网上看到很多选项,其中大多数使用 CompareAttribute在模型 like this one

问题是绝对ConfirmPassword不应该在模型中,因为它不应该被持久化。

由于来自 MVC 3 的整个不显眼的客户端验证依赖于模型,我不想在模型上放置 ConfirmPassword 属性,我应该怎么做?

我应该注入(inject)自定义客户端验证功能吗?如果是这样.. 怎么样?

最佳答案

As the whole unobstrusive client validation from MVC 3 rely on the model and I don't feel like putting a ConfirmPassword property on my model, what should I do?



完全同意你的看法。这就是为什么你应该使用 View 模型。然后在您的 View 模型(专门为给定 View 的要求设计的类)上,您可以使用 [Compare]属性:
public class RegisterViewModel
{
[Required]
public string Username { get; set; }

[Required]
public string Password { get; set; }

[Compare("Password", ErrorMessage = "Confirm password doesn't match, Type again !")]
public string ConfirmPassword { get; set; }
}

然后让您的 Controller 操作采用此 View 模型
[HttpPost]
public ActionResult Register(RegisterViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}

// TODO: Map the view model to a domain model and pass to a repository
// Personally I use and like AutoMapper very much (http://automapper.codeplex.com)

return RedirectToAction("Success");
}

关于.net - 如何在 ASP.NET MVC 3 中正确实现 "Confirm Password"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6801585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com