Я недавно удалил функцию сообщений из моей проверки. Затем я поместил функцию jQuery validate showErrors
, чтобы получить границы для требуемых входных данных, чтобы они стали красными. В этот момент все работало хорошо, пока я не добавил showErrors
.
Причина добавления showErrors
заключается в том, что я хотел, чтобы появилось простое сообщение вместо нескольких, а границы все еще отображались красным.
Из моего фрагмента ниже вы увидите, что в данный момент работает только showErrors
. Есть ли способ заставить их работать одновременно? Если да, то как?
В качестве альтернативы здесь можно указать jsfiddle
Скорректированный JS
errorPlacement: function() {
return false;
},
showErrors: function(errorMap, errorList) {
$('#formErrors').html('All fields must be completed before you submit the form.');
this.defaultShowErrors();
},
submitHandler: function() {
submit();
},
$('#catalogRequestForm').validate({
ignore: [],
rules: {
first_name: {
required: true,
minlength: 2
},
last_name: {
required: true,
minlength: 2
},
address1: {
required: true,
minlength: 5
},
city: {
required: true,
minlength: 2
},
state: {
required: true
},
zip: {
required: true,
digits: true,
minlength: 5
},
email: {
required: true,
email: true
}
},
errorPlacement: function(){
return false;
},
showErrors: function(errorMap, errorList) {
$('#formErrors').html('All fields must be completed before you submit the form.');
},
submitHandler: function() {
submit();
},
});
.error {
border: 2px solid #b82222;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.16.0/jquery.validate.min.js"></script>
<form method="POST" id="catalogRequestForm">
<input type="text" name="first_name" placeholder="First Name *">
<input type="text" name="last_name" placeholder="Last Name *">
<div id="formErrors"></div>
<input id="requestSubmit" type="submit" value="Submit">
</form>