我的公司正在开发一个多租户应用程序,该应用程序必须通过数据库完全定制。这包括验证,所以我创建了几个表,其中包含有关 jquery 验证方法以及将它们分配给属性的方式的信息。
我已禁用自动属性验证生成,并使用正确生成多个客户端验证规则的属性标记每个相关属性。但是,当我必须在服务器端验证模型时,就会出现问题。我已经对所需的数字和数字实施了验证,但是我对该解决方案不满意。
有没有办法将我的自定义验证属性与内置属性动态链接?一般的想法是,我的自定义验证器将从数据库中接收一组所需的验证方法,并将验证检查传播到内置的 MVC 验证方法,因此我不必实现它。
很抱歉没有发布代码,但我不允许这样做。如果这在 MVC 中可行,我仍然会很感激一般指南。
谢谢
更新:
我的属性扩展了 ValidationAttribute 和 IClientValidatable。
客户端验证不是问题。IClientValidatable 返回一个 ModelClientValidationRule 的枚举,MVC 完美地将其转换为正确的 jquery 验证规则。数据库存储 jquery 验证方法名称,例如“数字”、“数字”等,以及方法参数。
我的问题是“公共覆盖布尔 IsValid”方法。我可以获得要执行的 jquery 验证列表,但我必须手动实现验证方法。基本上,我想检查验证规则,如果它等于“必需”,我希望执行 MVC 的RequiredAttribute 验证。