【问题标题】:Asp.net MVC 4 dynamic server and client side validationAsp.net MVC 4 动态服务器和客户端验证
【发布时间】:2013-10-09 02:30:49
【问题描述】:

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

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

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

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

谢谢


更新:

我的属性扩展了 ValidationAttribute 和 IClientValidatable。

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

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

【问题讨论】:

    标签: jquery asp.net-mvc validation asp.net-mvc-4


    【解决方案1】:

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

    【讨论】:

    • 所以您已经知道该怎么做,只需创建从 Attributes 继承的 ValidationAttribute 并对其进行编码,或者您需要更具体地了解是什么阻止了您
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2017-05-03
    • 2014-03-19
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    相关资源
    最近更新 更多