深入浅出 MVC 数据验证 2.0
2011-06-07 15:04
405 查看
今天在这里给大家介绍一下MVC的数据验证框架。
在1.0版中,很多朋友提出了怎么使用客户端验证,今天找了一些资料,发现了客户端验证的方法。
这时候,BLL层和网站会分离的不彻底,因为很多代码不得不在网站中写。
而在MVC的数据验证框架中,甚至可以不用BLL层,而在比BLL层更底层的Model层书写数据验证的代码。
并且最后能在网页上显示出来。
此图这就是最后的效果
User
这样写好后,便可以在Entity Framework中使用Model验证了
那MVC的客户端数据验证有什么不同呢?
不同之处就在于,你可以不用写一行javascript代码!
下面让我们来实现它
先添加3个javascript文件,请按顺序添加:
然后在View里添加一行代码:(注意要添加在Form前)
注意点:这里,其实是这个函数把Model验证转换成了javascript代码,对!它只能转换Model验证,BLL验证无法转换,因为BLL验证涉及到复杂的代码,不可能全部转换成javascript吧?并且BLL验证很多还需要和数据库交互。
那如果想把BLL验证也做成“客户端”验证怎么办?(只有可能用ajax实现无刷新验证,而不是真正的客户端验证)
目前看来先只能手写了
在1.0版中,很多朋友提出了怎么使用客户端验证,今天找了一些资料,发现了客户端验证的方法。
1、MVC中的数据验证框架有何优点?
在Asp.net时代,或者没有使用MVC的验证框架,一般是在BLL层中进行数据验证,但是BLL层的返回值又只能返回一个东西,比如一个字符串,而实际情况中,数据验证是很复杂的。这时候,BLL层和网站会分离的不彻底,因为很多代码不得不在网站中写。
而在MVC的数据验证框架中,甚至可以不用BLL层,而在比BLL层更底层的Model层书写数据验证的代码。
并且最后能在网页上显示出来。
此图这就是最后的效果
User
[MetadataType(typeof(UserMetaData))] public partial class User { } public class UserMetaData { [Required(ErrorMessage = "名字为空")] [StringLength(10, ErrorMessage = "名字长度不得超过10个字符")] public string Name { get; set; } [Required(ErrorMessage = "密码为空")] [StringLength(20, ErrorMessage = "密码长度不得超过20个字符")] public string Password { get; set; } [Required(ErrorMessage = "帐号为空")] [StringLength(10, ErrorMessage = "帐号长度不得超过10个字符")] public string Passport { get; set; } }
这样写好后,便可以在Entity Framework中使用Model验证了
8、如何使用客户端验证
任何平台都可以靠js来实现客户端验证,但是我这里探讨的是MVC的数据验证。那MVC的客户端数据验证有什么不同呢?
不同之处就在于,你可以不用写一行javascript代码!
下面让我们来实现它
先添加3个javascript文件,请按顺序添加:
然后在View里添加一行代码:(注意要添加在Form前)
注意点:这里,其实是这个函数把Model验证转换成了javascript代码,对!它只能转换Model验证,BLL验证无法转换,因为BLL验证涉及到复杂的代码,不可能全部转换成javascript吧?并且BLL验证很多还需要和数据库交互。
那如果想把BLL验证也做成“客户端”验证怎么办?(只有可能用ajax实现无刷新验证,而不是真正的客户端验证)
目前看来先只能手写了
相关文章推荐
- 深入浅出 MVC 数据验证 2.0 [附演示源码]
- 深入浅出 MVC 数据验证 2.0 [附演示源码]
- 深入浅出 MVC 数据验证 2.0 [附演示源码]
- 转载:深入浅出 MVC 数据验证 2.0 [附演示源码]
- 第六章:数据验证——深入浅出学Spring Web MVC
- 第六章:数据验证——深入浅出学Spring Web MVC
- asp.net mvc 2.0 数据验证
- (转)深入浅出 MVC 数据验证 [附演示源码]
- MVC数据验证深入浅出
- MVC实现数据验证 2.0
- ASP.NET MVC 入门8、ModelState与数据验证
- MVC 3 数据验证 Model Validation 详解
- 第四章:数据类型转换——深入浅出学Spring Web MVC
- MVC学习手册之数据注解与验证
- ASP.NET MVC 入门8、ModelState与数据验证
- ASP.NET MVC 入门8、ModelState与数据验证
- ASP.NET MVC 数据验证
- 【转载】使用Json比用string返回数据更友好,也更面向对象一些 |Asp.net MVC 2.0 + Unity 2.0(IoC) + EF4.0 实例:RoRoWoBlog 开源项目框架代码
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
- AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)