如何使用jquery验证器

时间:2016-10-09 11:51:46

标签: jquery jquery-validate

我需要在隐藏字段中隐藏成功验证错误

<form id="some-id">
    <input name="from" class="form-control" id="from type="text">
    <input type="hidden" class="id-from" name="idfrom">
</form>
$('#some-id).validate({    
    ignore: "",
    rules: {
        idfrom: "required",
    },
});

在更改输入类时,隐藏值将设置,因此我需要隐藏字段。它工作正常,但错误消息不会隐藏在成功并移动到下一个字段。它仅在提交form时隐藏。我试过这个:

unhighlight: function (element) {
    $(element).removeClass('error')
}

但是它只删除了聚焦字段,而不是隐藏字段。

1 个答案:

答案 0 :(得分:0)

您尚未解释此隐藏字段的用途或为何需要进行验证。如果它根据文本字段自动更新,为什么不简单地验证原始文本字段?

为什么会这样:

默认情况下,验证测试由blur&amp;触发。输入元素上的keyup个事件以及提交按钮的click事件。由于您有隐藏的隐藏元素,用户无法看到或与之交互,因此上面没有blurkeyup个事件。这样只留下可以触发此元素验证测试的提交点击。

如何修复:

您需要编写一个事件处理程序来捕获文本输入元素的blurkeyup事件,并使用.valid()方法以编程方式触发验证测试隐藏的元素。

$('[name="from"]').on('keyup blur', function() {
    $('[name="idfrom"]').valid();  // force validation test
});