我需要在隐藏字段中隐藏成功验证错误
<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')
}
但是它只删除了聚焦字段,而不是隐藏字段。
答案 0 :(得分:0)
您尚未解释此隐藏字段的用途或为何需要进行验证。如果它根据文本字段自动更新,为什么不简单地验证原始文本字段?
为什么会这样:
默认情况下,验证测试由blur
&amp;触发。输入元素上的keyup
个事件以及提交按钮的click
事件。由于您有隐藏的隐藏元素,用户无法看到或与之交互,因此上面没有blur
或keyup
个事件。这样只留下可以触发此元素验证测试的提交点击。
如何修复:
您需要编写一个事件处理程序来捕获文本输入元素的blur
和keyup
事件,并使用.valid()
方法以编程方式触发验证测试隐藏的元素。
$('[name="from"]').on('keyup blur', function() {
$('[name="idfrom"]').valid(); // force validation test
});