我正在寻找使用验证应用程序块的基于配置的验证示例。我找到了这个
我想问是否有人有替代解决方案来使用 EL VAB 5.0 来实现基于配置的验证。我从 DataAnnotations 开始,但很快发现某些属性需要不同类型的验证,具体取决于谁在使用应用程序。
此外,如果有人有更多关于 VAB 配置的示例以及关于我可能遇到的任何建议,请分享。
我正在寻找使用验证应用程序块的基于配置的验证示例。我找到了这个
我想问是否有人有替代解决方案来使用 EL VAB 5.0 来实现基于配置的验证。我从 DataAnnotations 开始,但很快发现某些属性需要不同类型的验证,具体取决于谁在使用应用程序。
此外,如果有人有更多关于 VAB 配置的示例以及关于我可能遇到的任何建议,请分享。
您可以通过多种途径来实现这一目标。首先,您可以(ab)为此使用规则集。您可以创建一个“基本”规则集,其中包含适用于所有人的规则,并且您可以为系统中的每个角色创建一个规则集,甚至可能为每个用户创建一个规则集,但这当然会很麻烦。
另一种选择是创建一个IConfigurationSource
能够ValidationSettings
根据登录用户返回实例的实现。现在有几种方法可以构建ValidationSettings
对象。这里有一些例子:
FileConfigurationSource
您可以使用基于角色从磁盘加载多个配置文件。就像是:return (new FileConfigurationSource('validation_' + role + '.config')).GetSection(sectionName);
ValidationSettings
实例(并缓存它们)。您可以将此定义存储在数据库中并加载它们(这将是很多工作)或在代码中定义它们(可能由程序集分隔)。这是基于代码的配置的示例。此外,为了避免重复部分配置,您可以执行以下操作:
我希望这有帮助。