模型:
1 public class User 2 { 3 [Required(ErrorMessage="用户名不能为空")] 4 public string UserName { get; set; } 5 [Required(ErrorMessage="密码不能为空")] 6 public string Password { get; set; } 7 }
控制器中的方法:
[HttpPost] public ActionResult Login(Users user) { if (ModelState.IsValid) { //登录代码省略 return View("Index"); } return View(); } [HttpPost] public ActionResult Create(Users user) { if (ModelState.IsValid) { user.Password="admin"; db.Users.Add(user); db.SaveChanges(); return View("Index"); } return View(); }
问题:我在新建用户的时候用的默认密码,不用在视图中输入,从视图传过来的数据里密码是空的通不过验证,因为登录和新建用的同一个模型,[Required]不能少,怎么解决?有什么语句是在视图中给Password赋值吗?
[HttpPost] public ActionResult Create(Users user) { ModelState.Remove(“Password”); //加上这句就行了 if (ModelState.IsValid) { user.Password="admin"; db.Users.Add(user); db.SaveChanges(); return View("Index"); } return View(); }
本文介绍了解决ASP.NET MVC应用中使用默认密码时遇到的验证问题的方法。通过在控制器中移除密码字段的验证状态,可以实现对新建用户的默认密码设置,同时保持表单验证的完整性。

868

被折叠的 条评论
为什么被折叠?



