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