65.9K
CodeProject 正在变化。 阅读更多。
Home

使用验证应用程序块的客户端验证

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.36/5 (24投票s)

2008年10月14日

CPOL

4分钟阅读

viewsIcon

63282

使用验证应用程序块实现客户端验证

目录

引言

企业验证应用程序为我们提供了一个现成的框架,我们可以在项目中轻松实现动态验证。如果您不了解基本知识,您可以观看我关于它的 20 分钟独家视频此处

通过使用企业验证块,您可以动态创建验证,并且可以根据登录的用户调用验证。现在让我们了解验证块的最大缺点之一,并看看我们如何解决这个问题。

其他应用程序块

  • 验证应用程序块:本文解释了使用 VAB 进行验证所需的 16 个步骤:验证应用程序块
  • 动态验证:本文解释了如何根据具体情况构建动态验证:动态验证
  • 策略应用程序块:本文讨论了如何使用策略应用程序块实现即插即用机制:策略应用程序块
  • 日志记录应用程序块:本文解释了使用日志记录应用程序块的五个基本步骤:日志记录应用程序块
  • 数据应用程序:本文讨论了实现数据应用程序块所需的四个步骤:数据应用程序块
  • 异常应用程序块:此应用程序讨论了我们如何使用异常应用程序块来记录项目中的异常:异常应用程序块
  • Unity 应用程序块:此应用程序讨论了 DI 和 IOC 中的 Unity 应用程序块:Unity 应用程序块
  • UIP 块:本文讨论了使用 Microsoft UIP 块为 Windows 和 Web 实现可重用的导航和工作流程:UIP 块

问题

验证应用程序块的最大缺点是它不生成客户端代码。另一种说法是,所有验证都发生在服务器端。从我的角度来看,我认为应用程序块开发人员做得对。我的意思是他们定义了一个通用的服务器端框架,并将客户端验证的实现留给了各自的客户端,如 Windows、ASP.NET 等。

更广泛的解决方案

那么我们如何解决这个问题呢?您可以随意搜索,但您不会找到简单的解决方法。您需要开发自己的适配器。这意味着您需要开发一个适配器,该适配器将从验证块 API 读取规则并创建 ASP.NET 客户端验证器,如必需字段、非空等。

如果您找到更好的解决方案,请在下面发表评论。

实际代码

好的,既然我们知道了问题,让我们看看如何解决它。如果您已经看过顶部给出的视频,您将了解到所有验证都存储在 web.config 文件中。我们需要以某种方式浏览 web.config 文件以获取这些验证。一旦我们获得验证,我们就可以根据 web.config 文件中存在的验证创建 ASP.NET 验证器。

如果您查看使用验证应用程序块定义了验证器的 web.config 文件,它看起来如下所示。所有验证都包含在验证标记内。浏览以获取验证的过程分为四个步骤。

  • 步骤 1:使用配置源,获取验证设置。
  • 步骤 2:使用验证设置,从验证标记中获取所有规则集。
  • 步骤 3:从规则集中,获取规则集数据集合。
  • 步骤 4:浏览规则集数据并生成相应的 ASP.NET 验证器。

Click to enlarge

以下是上述步骤的代码

Click to enlarge

在最后一步中,我们浏览验证器集合并生成 ASP.NET 验证器。您可以使用类型名称来查看它是什么验证器类型。使用 RangeValidatorData,您可以获取验证器数据的详细信息,并可以相应地生成 ASP.NET 验证器。

Click to enlarge

验证应用程序块中提供了不同范围的验证器。根据类型,您可以在客户端创建相应类型的 ASP.NET 验证器。您也可以相应地生成 Windows 验证器。

如需进一步阅读,请观看下面的面试准备视频和逐步视频系列。

© . All rights reserved.