我们有一个使用JQuery非侵入式验证和一些自定义验证器设置的MVC 4项目。其中之一是日期范围验证器,其中2个文本字段传递给视图模型上的一个对象(分别为“ 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");


然后根据验证分配这些类,但似乎工作不一致。

在我不再熟悉之前,是否有人知道将验证结果传递到其他表单字段的任何内置方式?

更新:由于最大和最小日期字段将独立验证并通过验证,因此无法使用该范围。因此,我也在寻找一种将验证与这些字段相关联的方法。

谢谢

戴夫

最佳答案

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

如果是这样,有两种方法可以解决:


切换到“视图模型”方法,其中每个用户输入都由模型上的唯一属性表示。
看一下jQuery验证组。例如


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

JQuery Validate multiple fields with one error

10-07 18:59
查看更多