MVC4中如何跳过对模型中某个属性的验证?
0
悬赏园豆:5 [已解决问题] 浏览: 534次
模型:
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赋值吗?
问题补充:
除了加隐藏控件外,有没有其它办法?
有没有直接跳过不验证密码的方法?
最佳答案
0
加个 隐藏控件,给个默认值
收获园豆:5
其他回答(2)
0
加个参数 什么的 如果是注册 就跳过
什么参数,给代码出来,我是新手
0
[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(); }
非常感谢!
能不能举个例子,新手,想到这么做了,可是不会