代码之家  ›  专栏  ›  技术社区  ›  mare

使验证成为应用程序设置的一部分

  •  0
  • mare  · 技术社区  · 15 年前

    this

    1 回复  |  直到 15 年前
        1
  •  0
  •   Steven    11 年前

    你可以走几条路来达到这个目的。首先,您可以(ab)为此使用规则集。您可以创建一个“基本”规则集,其中包含适用于所有人的规则,您可以为系统中的每个角色创建一个规则集,甚至可以为每个用户创建一个规则集,但这当然很麻烦。

    另一种选择是创建 IConfigurationSource 能够返回 ValidationSettings 实例,基于登录的用户。现在有几种方法可以构建 验证设置 对象。以下是几个例子:

    1. 可以使用从磁盘加载多个配置文件 FileConfigurationSource return (new FileConfigurationSource('validation_' + role + '.config')).GetSection(sectionName);
    2. 你可以建立 验证设置 实例动态(并缓存它们)。您可以将此定义存储在数据库中并加载它们(这将是一项大量的工作)或在代码中定义它们(可能由程序集分隔)。 Here is an example 基于代码的配置。

    1. 将多个配置合并在一起。例如,可以将基线验证与特定于角色的验证合并。这样您就不必根据基线进行手动验证,也不必为特定于角色的验证进行第二次验证。虽然这是不支持的开箱即用,我写了关于如何做到这一点在我的博客 here .
    2. 可以基于类型继承合并规则。虽然VAB只支持基于属性的即时验证的验证器继承,但我已经在我的博客上写过了, here

    我希望这有帮助。

    推荐文章