描述:MVC数据验证使用小结
内容:display,Required,stringLength,Remote,compare,RegularExpression
本人最近在公司用mvc做了一个修改密码的功能,使用的是mvc数据验证,现将使用心得分享给大家
首先,我们先分析一下,如果要实现密码修改功能,我们需要做哪些工作。先从页面说起吧,前台页面起码需要三个密码框吧,分别表示原始密码,新密码,重复新密码,最后再加一个按钮,这样一个页面的基本元素就构造完毕了
其次,我们需要对添加的数据进行验证,包括,原始密码正确性验证,新密码格式验证,重复输入的密码一致性验证
最后,我们把修改后的密码保存到数据库里就大功告成了(注:这里只是简单的实现了密码的修改功能)
所以,分析到这里,思路也就清晰了,下面就该实现了
一、设计思路
1、设计一个修改密码模型类
2、使用mvc创建一个该模型类的强类型视图
3、提交表单,将新密码保存到数据库
二、代码实现
1、我们先看一下设计的模型类的代码吧
1 public class UserPwdEditModel { 2 [Display(Name = "旧密码")] 3 [Required(ErrorMessage = "请输入 {0}。")] 4 [Remote("Validate", "UserInfo", HttpMethod = "post", ErrorMessage = "旧密码错误")] 5 [Editable(true)] 6 public string OldPwd { 7 get; 8 set; 9 } 10 11 [Display(Name = "新密码")] 12 [Required(ErrorMessage = "请输入 {0}。")] 13 [RegularExpression(@"^(([a-z]+)|([A-Z]+)).([0-9]+)", ErrorMessage = "密码只能包含英文、数字(必须以字母开头)")] 14 [StringLength(18, MinimumLength = 6, ErrorMessage = "密码长度限制在6-18个字符")] 15 public string NewPwd { 16 get; 17 set; 18 } 19 20 [Display(Name = "重复新密码")] 21 [Required(ErrorMessage = "请再次输入 新密码。")] 22 //[Remote("ValidateRepeatPwd", "UserInfo", HttpMethod = "post", AdditionalFields = "NewPwd", ErrorMessage = "两次密码不一致,请重新输入")] 23 [Compare("NewPwd", ErrorMessage = "两次密码不一致,请重新输入")] 24 public string RepeatPwd { 25 get; 26 set; 27 } 28 }