【发布时间】:2010-09-11 04:24:55
【问题描述】:
是否有任何简单、智能的方法可以使您的客户端和服务器端验证规则保持同步?
在客户端,我们有 JavaScript,可能是 jQuery 或 YUI 之类的某种框架。
在服务器端,我们有 ASP.NET WebForms 或 ASP.NET MVC。
经过验证的内容如下:
- 正确的电子邮件地址
- 正确的家庭地址和邮政编码
- 正确的信用卡号码
等等。
【问题讨论】:
标签: c# asp.net .net validation
是否有任何简单、智能的方法可以使您的客户端和服务器端验证规则保持同步?
在客户端,我们有 JavaScript,可能是 jQuery 或 YUI 之类的某种框架。
在服务器端,我们有 ASP.NET WebForms 或 ASP.NET MVC。
经过验证的内容如下:
等等。
【问题讨论】:
标签: c# asp.net .net validation
【讨论】:
编写一个包含验证规则的大型通用测试数据语料库,并针对这些通用数据对您的验证器进行单元测试。
当您的规则发生变化时,您会通过更新测试数据和测试来反映这一点,直到一切再次变绿。
【讨论】:
我一直使用内置的验证器。例如,如果您使用 RegularExpressionValidator 并提供 ValidationExpression,它将使用相同的代码在客户端(如果可用)和服务器端进行验证。
您可以通过从 BaseValidatior 派生来编写自己的自定义验证器。这样做允许您通过覆盖 EvaluteIsValid 创建服务器验证。如有必要,您可以稍后添加客户端验证。
【讨论】:
这不是一个真实的解决方案,但请查看 CodePlex 上的 Axial project。这是一个将 C# 转换为 Web Javascript 的项目,并且有一个控件可以让您使用相同的代码进行服务器端验证和客户端验证。它尚未准备好投入生产,但我很想知道这是否是您正在寻找的东西。
【讨论】:
xVAL 比 Enterprise Library Validation 容易得多,并且可以处理客户端和服务器的模型绑定验证。
【讨论】: