如何在ASP.NET MVC 3中正确实施“确认密码”?
发布时间:2020-12-15 18:49:09 所属栏目:asp.Net 来源:网络整理
导读:已经有一个 answered question关于相同的主题,但从’09我认为它已经过时了。 如何在ASP.NET MVC 3中正确实现“确认密码”? 我在网上看到很多选项,其中大多数使用了like this one型号的CompareAttribute 问题是肯定ConfirmPassword不会在模型中,因为它不
已经有一个
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"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如果DataSource不包含任何项目,如何在ASP.NET C#中隐藏转发
- asp.net-mvc – 在布局页面上渲染脚本时出现奇怪错误
- ASP.Net(也许是MVC)网站的博客引擎
- asp.net-mvc – ASP.NET MVC – 结合Json结果与ViewResult
- asp.net-mvc – 没有控制器或操作名称的Asp.net mvc路由
- asp.net – 下拉列表中的重复项目!
- 配置文件_自定义section标签获取数据
- asp.net – 使用以前输入的值防止文本框自动填充
- asp.net – AutopostBack = True和AutoPostBack = False之间
- asp.net-mvc-3 – insert命令需要插入数据绑定设置Kendo Gr
推荐文章
站长推荐
- ASP.NET网页(WebMatrix)发布的jQuery帖子
- asp.net – 如何使用linq从datetime列获取Date
- 如何防止密码和其他敏感信息出现在ASP.NET转储中
- asp.net – jqgrid editurl:控制器动作参数
- asp.net-mvc – 快捷键在Visual Studio 2012中不
- ASP.NET Web API – 实体框架 – .Include上的50
- asp.net-mvc – ASP.NET MVC Route,在控制器之前
- asp.net-mvc – 在MVC Controller中访问GET参数
- asp.net – 将mvc应用程序发布到Web服务器后无法
- asp.net-web-api – MaxExpansionDepth,带有最新
热点阅读