Чтобы отключить блок благодарности при ошибке валидации формы, нужно использовать опцию showErrors в плагине jQuery validation. В опции showErrors можно указать функцию, которая будет вызываться при каждой ошибке валидации. В этой функции можно скрывать блок благодарности.
Пример кода:
```javascript
$("#myForm").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Пожалуйста, введите ваше имя",
email: "Пожалуйста, введите корректный email"
},
showErrors: function(errorMap, errorList) {
// Скрываем блок благодарности
$("#thankYouMsg").hide();
// Отображаем ошибки по умолчанию
this.defaultShowErrors();
},
submitHandler: function(form) {
// Показываем блок благодарности после успешной валидации
$("#thankYouMsg").show();
// отправка формы
form.submit();
}
});
```
Чтобы использовать плагин jQuery validation для валидации формы, нужно добавить ссылку на библиотеку jQuery и на плагин jQuery validation в раздел head вашего HTML документа:
```html
<head>
...
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
...
</head>
```
Затем, нужно создать форму с необходимыми полями и добавить id формы:
```html
<form id="myForm">
<input type="text" name="name" placeholder="Ваше имя">
<input type="email" name="email" placeholder="Email">
<input type="submit" value="Отправить">
</form>
<div id="thankYouMsg" style="display: none;">Спасибо за отправку формы!</div>
```
Наконец, инициализируем плагин jQuery validation и указываем правила валидации и сообщения об ошибках:
```javascript
$("#myForm").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Пожалуйста, введите ваше имя",
email: "Пожалуйста, введите корректный email"
},
showErrors: function(errorMap, errorList) {
// Скрываем блок благодарности
$("#thankYouMsg").hide();
// Отображаем ошибки по умолчанию
this.defaultShowErrors();
},
submitHandler: function(form) {
// Показываем блок благодарности после успешной валидации
$("#thankYouMsg").show();
// отправка формы
form.submit();
}
});
```
Теперь, при нажатии на кнопку "Отправить", форма будет валидироваться согласно указанным правилам, и при успешной валидации будет показываться блок благодарности.