这里的表单验证包含客户端与服务端验证。
1. 纯手工打造
工具:程序员的双手
特点:手写客户端与服务器端验证代码
2. 半手工半自动
工具:jquery.validate(客户端) + DataAnnotations & DataAnnotationsExtensions(服务器端)
特点:客户端手写部分验证代码,服务器端只需声明验证规则
3. 全自动
工具:jquery.validate & jquery.validate.unobtrusive (客户端) + DataAnnotations & DataAnnotationsExtensions(服务器端)
特点:只需服务器端声明验证规则,客户端验证代码自动生成。参考文章:Unobtrusive JavaScript in ASP.NET MVC 3
你用的是哪一种?
我用的是最後一種,全自動的。不過,這個主要看你的項目的需求,和項目 的類別。
我个人用的是前面是前面,后面是后面,他们完全没有关系,这样做的目的是谁都不依赖谁,各自分工,职责明确,前面用的是jquery.validationEngine.js,后面自己写了个扩展类,里面封装了验证函数,取值的时候,.xxx()一下,个人觉得代码的可读性与维护性更强一些。
我们这儿用的第三种,主要是开发的时候比较方便。而且页面上也没有那么多的个性化要求
我用第二种。第一种开发成本太高,第三种只适合部分场合,要想有些定制方面的行为,还是需要部分手写代码(这个部分手写代码绝对比去修改jquery.validate.unobtrusive容易)
目前大部分是1,主要是历史遗留问题……
有一款猫冬验证还不错吧
用第二种,顶。
支持手工写,可以自己控制,现在微软生成的代码越来越乱了,很难控制,而且不符合w3c标准