ASP.NET MVC关于验证的个人理解
2010-06-09 00:34
465 查看
ASP.NET MVC的封装很强,或许我太笨,一个月断断续续才理解..
使用属性来标记是很方便的,只不过其背后的构造是繁琐的..
1,首先定义一个 枚举,来枚举出要验证的类型
2,然后写一个类,继承Attribute,该类中定义一个成员为上面的枚举类型
3,将此类标记到Model上
4,前台用反射然后在提交时判断
...属性是一种标记,属性是一种契约...属性是代码编写者为类或方法定义的扩展...
下面是一个简单的实例..
在aspx页面中用利用反射特性输出对应上面Model的HTML控件
使用属性来标记是很方便的,只不过其背后的构造是繁琐的..
1,首先定义一个 枚举,来枚举出要验证的类型
2,然后写一个类,继承Attribute,该类中定义一个成员为上面的枚举类型
3,将此类标记到Model上
4,前台用反射然后在提交时判断
...属性是一种标记,属性是一种契约...属性是代码编写者为类或方法定义的扩展...
下面是一个简单的实例..
public class RegisterModel { [Required(ErrorMessage = "用户名称不可为空并且不能小于6位")] [DisplayName("用户名称")] public String UserName { get; set; } [Required(ErrorMessage = "登录密码不可为空并且不能小于6位")] [DisplayName("登录密码")] public String Password { get; set; } [Required(ErrorMessage = "确认密码不可为空并且不能小于6位")] [DisplayName("确认密码")] public String ConfirmPassword { get; set; } [Required(ErrorMessage = "电子邮箱不可为空并且不能小于6位")] [DisplayName("电子邮箱")] public String Email { get; set; } }
在aspx页面中用利用反射特性输出对应上面Model的HTML控件
<%PropertyDescriptorCollection p = TypeDescriptor.GetProperties(typeof(RegisterModel));%> <%for (int i = 0; i < p.Count; i++) { %> <tr> <td class="style2"><%=p[i].DisplayName.ToString()%></td> <td class="style3"><input id="<%=p[i].Name %>" name="<%=p[i].Name %>" type="<%= p[i].Name=="UserName"||p[i].Name=="Email"?"text":"password" %>" /></td> <td><div id="ValTo<%=p[i].Name %>"></div></td>
相关文章推荐
- 关于ASP.NET MVC的业务逻辑验证(validation)
- ASP.NET MVC验证框架中关于属性标记的通用扩展方法
- 关于ASP.NET MVC中Form Authentication与Windows Authentication的简单理解
- 一起谈.NET技术,ASP.NET MVC验证框架中关于属性标记的通用扩展方法
- ASP.NET MVC验证框架中关于属性标记的通用扩展方法
- 《ASP.NET MVC验证框架中关于属性标记的通用扩展方法》之继续扩展
- 关于asp.net mvc中Controller中的方法返回值类型ActionResult及其子类的理解
- 关于ASP.NET MVC中Form Authentication与Windows Authentication的简单理解
- ASP.NET MVC 2博客系列之二:模型验证
- 创建ASP.NET Core MVC应用程序(6)-添加验证
- 在asp.net mvc中使用jquery validate验证
- 关于验证asp.net
- ASP.NET MVC 3 —— Model远程验证
- Asp.net MVC中关于@Html标签Label、Editor使用
- ASP.NET MVC下的四种验证编程方式
- Asp.net MVC验证哪些事(3)-- Remote验证及其改进(附源码)
- ASP.NET MVC自定义验证逻辑2
- ASP.NET MVC Form验证
- ASP.Net MVC Filter验证用户登录
- 我要学ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证