Browse Source

Доработка ячейки ФИО, Адрес регистрации, Адрес проживания

master
Ilya_Chis 2 months ago
parent
commit
d984d83149
  1. 18
      webApp/templates/2.0/main_page.pug
  2. 81
      webApp/templates/static/js/2.0.dashboard.js

18
webApp/templates/2.0/main_page.pug

@ -22,9 +22,10 @@ script(type="text/javascript", src="/js/2.0.dashboard.js?q="~randomString())
.my-3.mx-4 .my-3.mx-4.success-field
label.form-label.m-0(for="fio")='Фамилия Имя Отчество' label.form-label.m-0(for="fio")='Фамилия Имя Отчество полностью'
input.form-control.tg_input#fio input.form-control.tg_input#fio
small="(Пожалуйста, проверьте формат ввода)"
.my-3.mx-4.success-field .my-3.mx-4.success-field
label.form-label.m-0(for="tel")="Телефон" label.form-label.m-0(for="tel")="Телефон"
.row.m-0.p-0.justify-content-between .row.m-0.p-0.justify-content-between
@ -54,16 +55,19 @@ script(type="text/javascript", src="/js/2.0.dashboard.js?q="~randomString())
label.form-label.m-0(for="postal_code")='Код подразделения' label.form-label.m-0(for="postal_code")='Код подразделения'
input.form-control.tg_input#postal_code input.form-control.tg_input#postal_code
small="(Пожалуйста, проверьте формат ввода)" small="(Пожалуйста, проверьте формат ввода)"
.my-3.mx-4 .my-3.mx-4.success-field
label.form-label.m-0(for="passport_issued_by")='Кем выдан паспорт' label.form-label.m-0(for="passport_issued_by")='Кем выдан паспорт'
select.form-select.tg_input#passport_issued_by(style="") select.form-select.tg_input#passport_issued_by(style="")
option(disabled, selected)="Кем выдан паспорт" option(disabled, selected)="Кем выдан паспорт"
.my-3.mx-4 small="(Пожалуйста, проверьте формат ввода)"
label.form-label.m-0(for="address")='Адрес регистрации' .my-3.mx-4.success-field
label.form-label.m-0(for="address")='Адрес регистрации в формате: РЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА'
input.form-control.tg_input#address input.form-control.tg_input#address
.my-3.mx-4 small="(Пожалуйста, проверьте формат ввода)"
label.form-label.m-0(for="residential_address")='Адрес проживания' .my-3.mx-4.success-field
label.form-label.m-0(for="residential_address")='Адрес проживания в формате: РЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА'
input.form-control.tg_input#residential_address input.form-control.tg_input#residential_address
small="(Пожалуйста, проверьте формат ввода)"
.my-3.mx-4.success-field .my-3.mx-4.success-field
label.form-label.m-0(for="snils")='СНИЛС' label.form-label.m-0(for="snils")='СНИЛС'
input.form-control.tg_input#snils input.form-control.tg_input#snils

81
webApp/templates/static/js/2.0.dashboard.js

@ -43,22 +43,34 @@ $(document).ready(function(){
$('body').append('<div id="error_alert" class="alert alert-danger" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Ошибка<br><small id="alert_error_text"></small></div>'); $('body').append('<div id="error_alert" class="alert alert-danger" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Ошибка<br><small id="alert_error_text"></small></div>');
$('body').append('<div id="success_alert" class="alert alert-success" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Успех<br><small id="alert_success_text"></small></div>'); $('body').append('<div id="success_alert" class="alert alert-success" role="alert" style="position: fixed; top: 50px; left: 10%; right: 10%; z-index: 9999; display: none;">Успех<br><small id="alert_success_text"></small></div>');
$('#fio').on('input', function () { $('#fio').on('input', function () {
let input = $(this).val(); let input = $(this).val();
// Убираем все лишние символы, кроме букв и пробелов
input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, '');
// Разделение текста по пробелам и преобразование каждого слова
let words = input.split(/\s+/); // Разбиваем по пробелам // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы
// Преобразуем каждое слово let formattedInput = input.split(' ').map(word => {
let formattedInput = words.map(word => {
if (word.length > 0) { if (word.length > 0) {
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
} }
return ''; // Если слово пустое (например, несколько пробелов), не изменяем return ''; // Пустые слова не трогаем
}).join(' '); // Объединяем обратно с пробелами }).join(' '); // Объединяем обратно с пробелами
// Обновляем поле ввода с отформатированным текстом // Обновляем поле ввода с отформатированным текстом
$(this).val(formattedInput); $(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'); // Убрать подсветку
}
}); });
$('#email').on('input', function() { $('#email').on('input', function() {
let input = $(this).val(); let input = $(this).val();
// Разрешаем только буквы, цифры, точки, дефисы и подчеркивания // Разрешаем только буквы, цифры, точки, дефисы и подчеркивания
@ -91,6 +103,42 @@ $(document).ready(function(){
} }
}); });
$('#address').on('input', function () {
let input = $(this).val();
// Преобразуем все символы в верхний регистр
input = input.toUpperCase();
// Обновляем поле ввода
$(this).val(input);
// Проверяем формат: должно быть минимум 5 частей, разделённых запятыми
let parts = input.split(',');
if (parts.length < 5 || parts.some(part => part.trim().length === 0)) {
$(this).parent().removeClass('success-field').addClass('errors-field');
} else {
$(this).parent().removeClass('errors-field').addClass('success-field');
}
});
$('#residential_address').on('input', function () {
let input = $(this).val();
// Преобразуем все символы в верхний регистр
input = input.toUpperCase();
// Обновляем поле ввода
$(this).val(input);
// Проверяем формат: должно быть минимум 5 частей, разделённых запятыми
let parts = input.split(',');
if (parts.length < 5 || parts.some(part => part.trim().length === 0)) {
$(this).parent().removeClass('success-field').addClass('errors-field');
} else {
$(this).parent().removeClass('errors-field').addClass('success-field');
}
});
// Проверка на дату выдачи паспорта (выдан после 14, 20 или 45 лет) // Проверка на дату выдачи паспорта (выдан после 14, 20 или 45 лет)
$('#passport_date').on('change', function() { $('#passport_date').on('change', function() {
const passportDate = new Date($(this).val()); const passportDate = new Date($(this).val());
@ -244,6 +292,21 @@ $(document).ready(function(){
$(this).attr("disabled", true); $(this).attr("disabled", true);
message = {} message = {}
if ($('#residential_address').val().split(',').length < 5 || $('#residential_address').val().split(',').some(part => part.trim().length === 0)) {
show_error('Пожалуйста, введите адрес проживания в следующем формате, используя заглавные буквы и расставляя все запятые:\nРЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА', false);
$(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled");
return;
}
if ($('#address').val().split(',').length < 5 || $('#address').val().split(',').some(part => part.trim().length === 0)) {
show_error('Пожалуйста, введите адрес регистрации в следующем формате, используя заглавные буквы и расставляя все запятые:\nРЕГИОН, НАСЕЛЕННЫЙ ПУНКТ, УЛИЦА, ДОМ, КВАРТИРА', false);
$(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled");
return;
}
if(!(validate_length($('#fio').val(), 3))) if(!(validate_length($('#fio').val(), 3)))
{ {
show_error('Введите ФИО', false); show_error('Введите ФИО', false);
@ -304,13 +367,7 @@ $(document).ready(function(){
return; return;
} }
if(!(validate_length($('#address').val(), 3)))
{
show_error('Введите адрес регистрации', false);
$(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled");
return;
}
if(!(validate_length($('#residential_address').val(), 3))) if(!(validate_length($('#residential_address').val(), 3)))
{ {

Loading…
Cancel
Save