ASP.NET:同步客户端和服务器端验证规则

时间:2008-09-19 10:16:31

标签: c# asp.net .net validation

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

在客户端,我们有JavaScript,也许是某种类似jQuery或YUI的框架。

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

验证的内容如下:

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

等等。

6 个答案:

答案 0 :(得分:2)

< asp:RegularExpressionValidator ...> (以及其他asp.net验证器)实现客户端javascript和服务器端检查相同的规则。

答案 1 :(得分:2)

答案 2 :(得分:1)

编写一个包含验证规则的大型通用测试数据语料库,并针对此常见数据对您的验证程序进行单元测试。

当您的规则发生变化时,您可以通过更新测试数据并进行测试来反映这一点,直到所有内容再次变为绿色。

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

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

答案 5 :(得分:1)

xVAL比企业库验证更容易,并处理客户端和服务器的模型绑定验证。