我有一个非常基本的表单,其中包含 Jquery 验证。
要求:如果姓名字段不为空,则需要地址,否则不需要。
这工作正常,唯一的问题是红色突出显示永远不会消失,即使字段变得有效。
重现:
添加一些文本First Name
,然后点击Save
按钮。
预期结果:所有必填字段将突出显示并带有错误文本。
从中删除文本First Name
,然后点击Save
按钮
预期结果:突出显示和错误文本应该消失。 实际结果:错误文本消失,但突出显示不会消失。
这个问题有解决办法吗?
$(document).ready(function() {
isNullOrWhitespace = function(input) {
return !input || !input.trim();
};
isNameEmpty = function() {
var name = $("#FirstName").val() + $("#LastName").val();
return isNullOrWhitespace(name);
};
$("#application").validate({
rules: {
FirstName: {
required: function() {
return !isNameEmpty();
}
},
LastName: {
required: function() {
return !isNameEmpty();
}
},
Address1: {
required: function() {
return !isNameEmpty();
}
},
City: {
required: function() {
return !isNameEmpty();
}
},
Zip: {
required: function() {
return !isNameEmpty();
}
},
SomeOtherField: {
required: true
},
},
highlight: function(input) {
$(input).addClass("error");
},
unhighlight: function(input) {
$(input).removeClass("error");
},
submitHandler: function(form) {
alert("Submitted");
}
});
});
label.error {
color: #dc3545 !important;
}
input.error {
border: 1px solid #dc3545 !important;
}
input.input-validation-error {
border: 1px solid #dc3545 !important;
}
select.input-validation-error {
border: 1px solid #dc3545 !important;
}
开满天机
相关分类