1

我的公司正在开发一个多租户应用程序,该应用程序必须通过数据库完全定制。这包括验证,所以我创建了几个表,其中包含有关 jquery 验证方法以及将它们分配给属性的方式的信息。

我已禁用自动属性验证生成,并使用正确生成多个客户端验证规则的属性标记每个相关属性。但是,当我必须在服务器端验证模型时,就会出现问题。我已经对所需的数字和数字实施了验证,但是我对该解决方案不满意。

有没有办法将我的自定义验证属性与内置属性动态链接?一般的想法是,我的自定义验证器将从数据库中接收一组所需的验证方法,并将验证检查传播到内置的 MVC 验证方法,因此我不必实现它。

很抱歉没有发布代码,但我不允许这样做。如果这在 MVC 中可行,我仍然会很感激一般指南。

谢谢


更新:

我的属性扩展了 ValidationAttribute 和 IClientValidatable。

客户端验证不是问题。IClientValidatable 返回一个 ModelClientValidationRule 的枚举,MVC 完美地将其转换为正确的 jquery 验证规则。数据库存储 jquery 验证方法名称,例如“数字”、“数字”等,以及方法参数。

我的问题是“公共覆盖布尔 IsValid”方法。我可以获得要执行的 jquery 验证列表,但我必须手动实现验证方法。基本上,我想检查验证规则,如果它等于“必需”,我希望执行 MVC 的RequiredAttribute 验证。

4

1 回答 1

0

我之前做过,创建您自己的验证属性,该属性将依赖于数据库信息来验证数据,还创建自定义帮助程序以根据该属性值呈现正确的客户端验证

于 2013-10-02T16:06:33.803 回答