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