function show_error(message){ $('#error_alert').slideDown(500); $('#error_alert').delay(5000).slideUp(); $('#alert_error_text').empty(); if (message) $('#alert_error_text').append(message) } function show_success(message){ $('#success_alert').slideDown(500); $('#success_alert').delay(5000).slideUp(); $('#alert_success_text').empty(); if (message) $('#alert_success_text').append(message); } function validate_length(val, dest_len){ if(val.length < dest_len){ return false; } return true; } $(document).ready(function(){ $('body').append('
'); $('body').append(''); $('#fio').on('input', function () { let input = $(this).val(); // Убираем все лишние символы, кроме букв и пробелов input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы let formattedInput = input.split(' ').map(word => { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return ''; // Пустые слова не трогаем }).join(' '); // Объединяем обратно с пробелами // Обновляем поле ввода с отформатированным текстом $(this).val(formattedInput); // Проверяем количество слов let words = formattedInput.trim().split(/\s+/); // Убираем лишние пробелы if (words.length < 3 || words.some(word => word.length < 2)) { $(this).parent().removeClass('success-field').addClass('errors-field'); // Подсветить поле } else { $(this).parent().removeClass('errors-field').addClass('success-field'); // Убрать подсветку } }); $('#tel').on('change', function() { if($(this).val().length != 16){ $(this).parent().removeClass('success-field').addClass('errors-field'); } else{ $(this).parent().removeClass('errors-field').addClass('success-field'); } }); // Проверка на дату рождения (не старше 80 лет) $('#dob').on('change', function() { const dob = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob.getMonth() || (currentDate.getMonth() === dob.getMonth() && currentDate.getDate() < dob.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $("#kod").attr('maxlength','4'); $('#kod').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 4) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); function verification(){ $("#form_submit").children(".spinner-border").removeClass('d-none'); $("#form_submit").attr("disabled", true); message = {} if(!(validate_length($('#fio').val(), 3))) { show_error('Введите ФИО', false); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); return; } if(!(validate_length($('#tel').val(), 16))) { show_error('Введите Телефон', false); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); return; } if ($('#dob').val().length !== 10 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 100) { show_error('Дата рождения должна быть корректной и возраст не более 80 лет', false); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); return; } if ($('#dob').val().length !== 10 || new Date().getFullYear() < new Date($('#dob').val()).getFullYear()) { show_error('Проверьте дату ввода, вы указали дату больше чем сегодняшняя дата', false); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); return; } $.each($('.tg_input'), function(e) { message[$(this).prop("id")] = $(this).val(); }); $.ajax({ type: "post", url: "/tel_verification", processData: false, // tell jQuery not to process the data contentType: false, // tell jQuery not to set contentType async: true, data: JSON.stringify(message), success: (data) => { if(data.success==true){ $('.primary-field').hide(); $('.verification').show(); if (data.message) { show_success(data.message); } } else{ show_error(data.error); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); } }, error:function (jqXHR, exception) { $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); show_error('Что-то пошло не так', false) } }); } $("#form_submit").click(function(){ // show_success("Hello