如何在ASP.NET MVC 3中正确实施“确认密码”?
|
已经有一个 answered question关于相同的主题,但从’09我认为它已经过时了。 如何在ASP.NET MVC 3中正确实现“确认密码”? 我在网上看到很多选项,其中大多数使用了like this one型号的CompareAttribute 问题是肯定ConfirmPassword不会在模型中,因为它不应该被保留。 由于来自MVC 3的整个客户端验证依赖于模型,我不想将ConfirmPassword属性放在我的模型上,该怎么办? 我应该注入一个自定义的客户端验证函数?如果是这样..怎么样? 解决方法
完全同意你的意见。这就是为什么你应该使用视图模型。然后在您的视图模型(专门针对给定视图的要求设计的类)中,您可以使用[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; }
}
然后让您的控制器操作采用此视图模型 [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");
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 拒绝访问web.config中的“admin”文件夹
- asp.net-mvc – 为什么我在带有godaddy服务器的MVC3应用程序
- asp.net – 如何解决错误:当应用程序未在UserInteractive模
- UnitOfWork知多少
- asp.net-mvc-3 – StringLength属性行为
- asp.net-mvc-5 – 在禁用的TextBoxFor中只读是什么?
- asp.net-mvc – mvc [DataType(DataType.EmailAddress)没有
- asp.net – (客户端)禁用提交按钮的最佳方法是什么?
- 在ASP.NET中使用新的会话ID打开一个新的浏览器窗口
- ASP.NET Webforms ASP.NET Ajax与ASP.NET MVC和Ajax框架自由
- 如何使用代码隐藏技术在asp.net中获取当前页面的
- .net – 为什么我的剃刀视图抱怨“}预计”升级到
- asp.net-mvc – MVC5 Html.RenderAction与不同的
- asp.net-mvc – 有条件地在webgrid中显示图像 –
- 尝试将AutoMapper用于具有子集合的模型,在Asp.Ne
- 使T4MVC与ASP.NET 5一起使用
- 当空的asp.net时,ListView LayoutTemplate不显示
- asp.net – IE7和8随机挂起CSS图像
- asp.net-mvc-4 – MVC4和MVCContrib
- asp.net-mvc – 为什么ASP.NET MVC上的控制器基于
