|
894 | 894 | const parent = input.parentNode; |
895 | 895 | const feedback = parent.querySelector('.invalid-feedback'); |
896 | 896 |
|
897 | | - if (input.value.trim() === '') { |
| 897 | + if (input.value.trim() === '' || !input.checkValidity()) { |
898 | 898 | // определение/вывод сообщения в зависимости от "класса" инпута |
899 | | - if (input.classList.contains('modal__body-add-contact-input')) { |
900 | | - validErrors.push('Заполните поле контакта или удалите!'); |
901 | | - if (feedback) |
902 | | - feedback.textContent = 'Заполните поле контакта или удалите!'; |
903 | | - } else if (!input.classList.contains('modal-patronymic-input')) { |
904 | | - validErrors.push(`Заполните поле "${input.placeholder}"!`); |
905 | | - if (feedback) |
906 | | - feedback.textContent = `Заполните поле "${input.placeholder}"!`; |
907 | | - } else if (input.classList.contains('modal-patronymic-input')) { |
908 | | - // индивидуальное сообщение для поля "Отчество", НО без добавления в массив ошибок |
909 | | - if (feedback) |
910 | | - feedback.textContent = |
911 | | - 'Заполните поле "Отчество" или оставьте его пустым!'; |
912 | | - } |
| 899 | + if (!input.classList.contains('is-invalid')) { |
| 900 | + if (input.classList.contains('modal__body-add-contact-input')) { |
| 901 | + validErrors.push('Заполните поле контакта или удалите!'); |
| 902 | + if (feedback) |
| 903 | + feedback.textContent = 'Заполните поле контакта или удалите!'; |
| 904 | + } else if (!input.classList.contains('modal-patronymic-input')) { |
| 905 | + validErrors.push(`Заполните поле "${input.placeholder}"!`); |
| 906 | + if (feedback) |
| 907 | + feedback.textContent = `Заполните поле "${input.placeholder}"!`; |
| 908 | + } else if (input.classList.contains('modal-patronymic-input')) { |
| 909 | + // индивидуальное сообщение для поля "Отчество", НО без добавления в массив ошибок |
| 910 | + if (feedback) |
| 911 | + feedback.textContent = |
| 912 | + 'Заполните поле "Отчество" или оставьте его пустым!'; |
| 913 | + } |
913 | 914 |
|
914 | | - input.classList.add('is-invalid'); // выделение инпута "красным" |
| 915 | + input.classList.add('is-invalid'); // выделение инпута "красным" |
| 916 | + } |
915 | 917 | } else { |
| 918 | + // отображение ошибок |
| 919 | + if (input.classList.contains('is-invalid')) { |
| 920 | + return; // если "is-invalid".. оставляем |
| 921 | + } |
| 922 | + |
916 | 923 | // а если данные валидны, отмена выделения/исключение сообщения |
917 | 924 | input.classList.remove('is-invalid'); |
918 | 925 | if (feedback) feedback.textContent = ''; |
|
0 commit comments