|
662 | 662 | break; |
663 | 663 |
|
664 | 664 | case 'vk': |
| 665 | + // первичная проверка на "пустое" поле ввода (выход из проверки соответствия) |
665 | 666 | if (target.value === '') { |
666 | | - errors.length = 0; |
| 667 | + invalidFeed.textContent = ''; |
| 668 | + target.classList.remove('is-invalid'); |
667 | 669 | break; |
668 | 670 | } |
669 | | - if (!/^[a-zA-Z0-9_-]+$/.test(target.value)) { |
670 | | - errors.push('Укажите корректный ID, например: id12345'); |
671 | | - } |
672 | | - break; |
673 | 671 |
|
674 | | - case 'facebook': |
675 | | - if (target.value === '') { |
676 | | - errors.length = 0; |
677 | | - break; |
| 672 | + // ряд проверок для вводимых данных (определённые условия для ввода) |
| 673 | + if (/\s/.test(target.value)) { |
| 674 | + errors.push('Пробелы недопустимы!'); // исключение пробелов |
| 675 | + target.classList.add('is-invalid'); |
| 676 | + invalidFeed.textContent = 'Пробелы недопустимы!'; |
| 677 | + // только английские буквы |
| 678 | + } else if (/[а-яА-ЯёЁ]/.test(target.value)) { |
| 679 | + errors.push( |
| 680 | + 'Некорректный ввод! Измените раскладку клавиатуры!' |
| 681 | + ); |
| 682 | + target.classList.add('is-invalid'); |
| 683 | + invalidFeed.textContent = |
| 684 | + 'Некорректный ввод! Измените раскладку клавиатуры!'; |
678 | 685 | } |
679 | | - if (!/^[a-zA-Z0-9._-]+$/.test(target.value)) { |
| 686 | + // ввод/начало только с "id" |
| 687 | + else if (target.value === 'i') { |
| 688 | + invalidFeed.textContent = ''; |
| 689 | + target.classList.remove('is-invalid'); |
| 690 | + } else if ( |
| 691 | + target.value.startsWith('i') && |
| 692 | + target.value[1] !== 'd' |
| 693 | + ) { |
| 694 | + errors.push('Контакт Vk должен начинаться только с "id"!'); |
| 695 | + target.classList.add('is-invalid'); |
| 696 | + invalidFeed.textContent = |
| 697 | + 'Контакт Vk должен начинаться только с "id"!'; |
| 698 | + } |
| 699 | + // ввод/начало не с "id" (если) |
| 700 | + else if (!/^id/.test(target.value)) { |
680 | 701 | errors.push( |
681 | | - 'Укажите корректное имя пользователя, например: username1' |
| 702 | + 'Контакт Vk должен начинаться только с "id", например: id12345! ' |
682 | 703 | ); |
| 704 | + target.classList.add('is-invalid'); |
| 705 | + invalidFeed.textContent = |
| 706 | + 'Контакт Vk должен начинаться только с "id", например: id12345!'; |
| 707 | + } else if (target.value === 'id') { |
| 708 | + invalidFeed.textContent = ''; |
| 709 | + target.classList.remove('is-invalid'); |
| 710 | + } |
| 711 | + // исключение ввода не цифр после "id" |
| 712 | + else if (!/^id\d+$/.test(target.value)) { |
| 713 | + errors.push('После "id" должны быть только цифры!'); |
| 714 | + target.classList.add('is-invalid'); |
| 715 | + invalidFeed.textContent = |
| 716 | + 'После "id" должны быть только цифры!'; |
| 717 | + } |
| 718 | + // если всё корректно (сообщений нет) |
| 719 | + else { |
| 720 | + invalidFeed.textContent = ''; |
| 721 | + target.classList.remove('is-invalid'); |
683 | 722 | } |
684 | 723 | break; |
685 | 724 |
|
|
0 commit comments