6

我正在使用 ASP.NET MVC 构建一个站点,并且正在使用 jQuery validate unobtrusive library。我想知道是否有一种方法可以挂钩显示验证消息的事件,例如在用户键入无效内容时(与他们单击提交按钮时相反)。

我想这样做的原因是因为我正在设置错误消息的样式,例如出现在有错误的字段上方的迷你弹出窗口 - 即使用绝对定位。由于单个字段可能有各种不同的验证错误,我希望能够正确设置字段的位置,以考虑消息的可变高度。我还需要处理此事件,以便我可以为输入元素周围的红色边框应用一个类。

4

2 回答 2

7

这里有一个很棒的脚本:https ://gist.github.com/beccasaurus/957732/ 为 jQuery.validate 中的不同事件设置挂钩。它使您可以绑定到一堆不同的事件,在您的情况下,它看起来像这样:

$(function () {
    $('form').addTriggersToJqueryValidate();
    $('form').bind("elementValidation", function (event, element, result) {
        console.log("Something is invalid");
    });
})

非常便利!

于 2014-03-27T18:37:16.830 回答
0

当用户移动到表单中的下一个元素时,您可以验证并形成元素

$("form#myformid").validate().element("#ModelObject_NameofField");

并为每个元素使用错误放置,如上一个答案所示

jquery - 如何对特定元素使用errorPlacement?

您的弹出窗口<div/>应与其中的文本一起增长,因此您只需要将左下角或右下角锚定在元素旁边。

于 2013-11-01T00:10:26.340 回答