Добавил проверку данных через полимед и подтверждение через код верификации
This commit is contained in:
@@ -64,22 +64,20 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
|
||||
$("#dob").attr('maxlength','4');
|
||||
$('#dob').on('input', function() {
|
||||
let input = $(this).val();
|
||||
// Удаляем все символы, кроме цифр
|
||||
input = input.replace(/\D/g, '');
|
||||
// Обновляем поле ввода
|
||||
$(this).val(input);
|
||||
// Проверка на дату рождения (не старше 80 лет)
|
||||
$('#dob').on('change', function() {
|
||||
const dob = new Date($(this).val());
|
||||
const currentDate = new Date();
|
||||
const age = currentDate.getFullYear() - dob.getFullYear();
|
||||
|
||||
// Проверка на минимальную длину (не менее 11 символов)
|
||||
if (input.length < 4) {
|
||||
// Если введено меньше цифр, показываем ошибку
|
||||
$(this).parent().removeClass('success-field').addClass('errors-field');
|
||||
} else {
|
||||
// Если введено достаточно цифр, показываем успех
|
||||
$(this).parent().removeClass('errors-field').addClass('success-field');
|
||||
}
|
||||
// Проверка на возраст (не старше 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');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -108,6 +106,7 @@ $(document).ready(function(){
|
||||
message = {}
|
||||
|
||||
|
||||
|
||||
if(!(validate_length($('#fio').val(), 3)))
|
||||
{
|
||||
show_error('Введите ФИО', false);
|
||||
@@ -124,20 +123,94 @@ $(document).ready(function(){
|
||||
return;
|
||||
}
|
||||
|
||||
if ($('#dob').val().length !== 4 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 80) {
|
||||
if ($('#dob').val().length !== 10 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 100) {
|
||||
show_error('Дата рождения должна быть корректной и возраст не более 80 лет', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('#dob').val().length !== 10 || new Date().getFullYear() < new Date($('#dob').val()).getFullYear()) {
|
||||
show_error('Проверьте дату ввода, вы указали дату больше чем сегодняшняя дата', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).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();
|
||||
}
|
||||
else{
|
||||
show_error(data.error);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
}
|
||||
},
|
||||
error:function (jqXHR, exception) {
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
show_error('Что-то пошло не так', false)
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#code_submit").click(function(){
|
||||
|
||||
$(this).children(".spinner-border").removeClass('d-none');
|
||||
$(this).attr("disabled", true);
|
||||
message = {}
|
||||
|
||||
|
||||
|
||||
if(!(validate_length($('#fio').val(), 3)))
|
||||
{
|
||||
show_error('Введите ФИО', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!(validate_length($('#tel').val(), 16)))
|
||||
{
|
||||
show_error('Введите Телефон', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
if ($('#dob').val().length !== 10 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 100) {
|
||||
show_error('Дата рождения должна быть корректной и возраст не более 80 лет', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
if ($('#dob').val().length !== 10 || new Date().getFullYear() < new Date($('#dob').val()).getFullYear()) {
|
||||
show_error('Проверьте дату ввода, вы указали дату больше чем сегодняшняя дата', false);
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
$.each($('.tg_input'), function(e) {
|
||||
message[$(this).prop("id")] = $(this).val();
|
||||
});
|
||||
|
||||
message["verification_code"] = $("#kod").val();
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/form_submit",
|
||||
@@ -147,10 +220,8 @@ $(document).ready(function(){
|
||||
data: JSON.stringify(message),
|
||||
success: (data) => {
|
||||
if(data.success==true){
|
||||
$(this).children(".spinner-border").addClass('d-none');
|
||||
$(this).removeAttr("disabled");
|
||||
console.log(data);
|
||||
show_success("Данные сохранены!")
|
||||
$('.primary-field').hide();
|
||||
$('.verification').show();
|
||||
}
|
||||
else{
|
||||
show_error(data.error);
|
||||
|
||||
Reference in New Issue
Block a user