【问题标题】:Using JQuery unobtrusive validation to highlight a different field from what is being validated使用 JQuery 不显眼的验证来突出显示与正在验证的字段不同的字段
【发布时间】:2012-06-18 11:49:07
【问题描述】:

我们有一个 MVC 4 项目,它设置了 JQuery 不显眼的验证和一些自定义验证器。其中之一是日期范围验证器,其中 2 个文本字段被传递给 viewmodel 上的一个对象(作为 'PropertyName'.Min 和 'PropertyName'.Max)。

我在验证字段并让验证器方法根据这些文本字段进行验证时没有问题(我使用了一个名为“PropertyName”的虚拟隐藏字段)。但是,由于验证与“'PropertyName'”字段相关联,'PropertyName'.Min 和 'PropertyName'.Max 不会突出显示。

我已经尝试在验证器方法中绑定类

$(dateRangeMin).removeClass("input-validation-error");
$(dateRangeMin).removeClass("valid");
$(dateRangeMax).removeClass("input-validation-error");
$(dateRangeMax).removeClass("valid");

然后根据验证分配这些类,但它似乎并不能始终如一地工作。

在我放弃之前,有没有人知道将验证结果传递到不同表单字段的任何内置方法?

更新:bodge 不起作用,因为最小和最大日期字段得到独立验证并通过验证。因此,我也在寻找一种将验证与这些字段相关联的方法。

谢谢

戴夫

【问题讨论】:

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


    【解决方案1】:

    在我看来,这个问题的核心是您有多个输入代表模型上的一个项目。

    如果是这样的话,有两种方法可以从那里去:

    1. 切换到视图模型方法,其中每个用户输入都由模型上的唯一属性表示。

    2. 查看 jQuery 验证组。例如

    http://docs.jquery.com/Plugins/Validation/validate#toptions

    JQuery Validate multiple fields with one error

    【讨论】:

    • Groups 没有解决我的问题,但我可以看到第 1 点中的方法会如何。我的实际解决方案是用一个单独的类标记客户端验证方法中的其他字段,该类将其标记为无效类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 2011-11-02
    相关资源
    最近更新 更多