8

是否有任何简单、智能的方法可以使您的客户端和服务器端验证规则保持同步?

在客户端,我们有 JavaScript,可能是 jQuery 或 YUI 之类的框架。

在服务器端,我们有 ASP.NET WebForms 或 ASP.NET MVC。

验证的内容如下:

  • 正确的电子邮件地址
  • 正确的家庭地址和邮政编码
  • 正确的信用卡号码

等等。

4

5 回答 5

2

<asp:RegularExpressionValidator ...> (and the other asp.net validators) implement client side javascript and server side checking to the same rules.

于 2008-09-19T13:43:50.600 回答
1

我一直使用内置的验证器。例如,如果您使用 RegularExpressionValidator 并提供 ValidationExpression,它将使用相同的代码在客户端(如果可用)和服务器端进行验证。

您可以通过从 BaseValidatior 派生来编写自己的自定义验证器。这样做允许您通过覆盖 EvaluteIsValid 来创建服务器验证。如果有必要,您可以稍后添加客户端验证。

于 2008-09-30T16:47:59.680 回答
1

这不是一个真实的解决方案,但请查看 CodePlex 上的Axial 项目。这是一个将 C# 转换为 Web 的 Javascript 的项目,并具有一个控件,可让您使用相同的代码进行服务器端验证和客户端验证。它还没有准备好投入生产,但我很想知道这是否是你想要的。

于 2008-09-30T16:52:13.633 回答
1

xVAL比 Enterprise Library Validation 容易得多,并且可以处理客户端和服务器的模型绑定验证。

于 2009-05-07T02:53:49.630 回答
1

编写一个包含验证规则的大型通用测试数据语料库,并针对这些通用数据对验证器进行单元测试。

当您的规则发生变化时,您可以通过更新测试数据和测试来反映这一点,直到一切再次变绿。

于 2008-09-30T13:41:56.290 回答