|
835 | 835 | invalidFeed.textContent = |
836 | 836 | 'Укажите корректное имя пользователя, например: @Im_123'; |
837 | 837 | } |
838 | | - // исключение ввода более двух точек |
| 838 | + // исключение ввода точек |
839 | 839 | else if ((target.value.match(/\./g) || []).length > 0) { |
840 | 840 | errors.push('Имя пользователя не может содержать точки!'); |
841 | 841 | target.classList.add('is-invalid'); |
|
885 | 885 | } |
886 | 886 | break; |
887 | 887 |
|
| 888 | + case 'extra-contact': |
| 889 | + // первичная проверка на "пустое" поле ввода (выход из проверки соответствия) |
| 890 | + if (target.value === '') { |
| 891 | + invalidFeed.textContent = ''; |
| 892 | + target.classList.remove('is-invalid'); |
| 893 | + break; |
| 894 | + } |
| 895 | + |
| 896 | + // ряд проверок для вводимых данных (определённые условия для ввода) |
| 897 | + if ((target.value.match(/\s/g) || []).length > 1) { |
| 898 | + errors.push('Только ОДИН пробел допустим!'); |
| 899 | + target.classList.add('is-invalid'); |
| 900 | + invalidFeed.textContent = 'Только ОДИН пробел допустим!'; |
| 901 | + } |
| 902 | + // только английские буквы |
| 903 | + else if (/[а-яА-ЯёЁ]/.test(target.value)) { |
| 904 | + errors.push( |
| 905 | + 'Некорректный ввод! Измените раскладку клавиатуры!' |
| 906 | + ); |
| 907 | + target.classList.add('is-invalid'); |
| 908 | + invalidFeed.textContent = |
| 909 | + 'Некорректный ввод! Измените раскладку клавиатуры!'; |
| 910 | + } |
| 911 | + // определение корректного ввода/никнейма |
| 912 | + else if (/[^a-zA-Z0-9@_:\-.$\s]/.test(target.value)) { |
| 913 | + errors.push( |
| 914 | + 'Укажите доп. контакт, в формате: "название контакта: никнейм", без лишних символов!' |
| 915 | + ); |
| 916 | + target.classList.add('is-invalid'); |
| 917 | + invalidFeed.textContent = |
| 918 | + 'Укажите доп. контакт, в формате: "название контакта: никнейм", без лишних символов!'; |
| 919 | + } |
| 920 | + // исключение ввода более двух точек |
| 921 | + else if ((target.value.match(/\./g) || []).length > 2) { |
| 922 | + errors.push( |
| 923 | + 'Доп. контакт не может содержать более двух точек!' |
| 924 | + ); |
| 925 | + target.classList.add('is-invalid'); |
| 926 | + invalidFeed.textContent = |
| 927 | + 'Доп. контакт не может содержать более двух точек!'; |
| 928 | + } |
| 929 | + // исключение ввода более трёх тире |
| 930 | + else if ((target.value.match(/-/g) || []).length > 3) { |
| 931 | + errors.push( |
| 932 | + 'Доп. контакт не может содержать более трёх тире!' |
| 933 | + ); |
| 934 | + target.classList.add('is-invalid'); |
| 935 | + invalidFeed.textContent = |
| 936 | + 'Доп. контакт не может содержать более трёх тире!'; |
| 937 | + } |
| 938 | + // исключение ввода более десяти нижних подчёркиваний |
| 939 | + else if ((target.value.match(/_/g) || []).length > 10) { |
| 940 | + errors.push( |
| 941 | + 'Доп. контакт не может содержать более десяти подчёркиваний!' |
| 942 | + ); |
| 943 | + target.classList.add('is-invalid'); |
| 944 | + invalidFeed.textContent = |
| 945 | + 'Доп. контакт не может содержать более десяти подчёркиваний!'; |
| 946 | + } |
| 947 | + // определение максимальной длины имени пользователя |
| 948 | + else if (target.value.length > 50) { |
| 949 | + errors.push( |
| 950 | + 'Длинна "всего" доп. контакт должна быть не более 50 символов!' |
| 951 | + ); |
| 952 | + target.classList.add('is-invalid'); |
| 953 | + invalidFeed.textContent = |
| 954 | + 'Длинна "всего" доп. контакт должна быть не более 50 символов!'; |
| 955 | + } |
| 956 | + // определение с чего должен начинаться доп. контакт |
| 957 | + else if (!/^[a-zA-Z]/.test(target.value)) { |
| 958 | + errors.push( |
| 959 | + 'Доп. контакт должен начинаться только с англ. букв! Типа: "Instagram: @user1"' |
| 960 | + ); |
| 961 | + target.classList.add('is-invalid'); |
| 962 | + invalidFeed.textContent = |
| 963 | + 'Доп. контакт должен начинаться только с англ. букв! Типа: "Instagram: @user1"'; |
| 964 | + } |
| 965 | + // если всё корректно (сообщений нет) |
| 966 | + else { |
| 967 | + invalidFeed.textContent = ''; |
| 968 | + target.classList.remove('is-invalid'); |
| 969 | + } |
| 970 | + break; |
| 971 | + |
888 | 972 | default: |
889 | 973 | errors.push('Неизвестный тип контакта!'); |
890 | 974 | break; |
|
0 commit comments