【发布时间】:2019-12-11 16:27:18
【问题描述】:
我有几个字段,对于出生日期字段,我想在需要时隐藏错误消息,但显示所有其他错误消息。我有以下隐藏所有错误消息的代码:
<input type="number" id="DayOfBirth" min="1" max="31" class="input error" name="DayOfBirth" placeholder="DD" aria-invalid="true">
JS:
rules = {
DayOfBirth: required
};
messages = {
DayOfBirth: "Required field is missing: Day of Birth"
};
$('#myForm').validate({
rules: rules,
messages: messages,
errorPlacement: function (error, element) {
if (element.attr("name") == "DayOfBirth") {
error.hide();
}
else {
error.insertAfter(element);
};
},
})
所以基本上我想隐藏默认错误消息(“缺少必填字段:出生日期”),但保留最小值和最大值的消息,我该怎么做?
【问题讨论】:
-
打印时错误的 HTML 是什么?
-
@Morris 在必填的情况下,错误 html 为“必填字段缺失:出生日期”;对于负数或大于 31 的值,消息应为“值必须大于或等于 1”或“值必须小于或等于 31”
-
@Sparky 我在 html 中定义了
min和max值,因此如果用户输入了错误的值,jQuery-validate 将不会像我展示的那样将其拾取并显示默认错误消息在我的最后一条评论中? -
哦,是的,我现在明白你的意思了。是的,jQuery Validate 也会自动获取 HTML5 内联验证属性。更新答案...相同的解决方案。