fix: исправлена ошибка setSelectionRange для email полей и добавлено логирование

- Исправлена ошибка 'setSelectionRange not supported for email field' - добавлен try-catch и проверка типа поля
- Добавлено логирование наличия contact_data_confirmed, cf_2624, bank_id, bank_name в body запроса
- Это поможет отследить, передаются ли поля из frontend в backend
This commit is contained in:
Fedor
2025-12-03 18:51:33 +03:00
parent e7915df634
commit 38457394c1
2 changed files with 13 additions and 1 deletions

View File

@@ -630,6 +630,10 @@ async def publish_form_approval(request: Request):
"body_type": type(body).__name__,
"sms_code_in_body": "sms_code" in body if isinstance(body, dict) else False,
"sms_code_value": body.get("sms_code", "NOT_FOUND") if isinstance(body, dict) else "NOT_DICT",
"contact_data_confirmed_in_body": "contact_data_confirmed" in body if isinstance(body, dict) else False,
"cf_2624_in_body": "cf_2624" in body if isinstance(body, dict) else False,
"bank_id_in_body": "bank_id" in body if isinstance(body, dict) else False,
"bank_name_in_body": "bank_name" in body if isinstance(body, dict) else False,
},
)

View File

@@ -1363,7 +1363,15 @@ export function generateConfirmationFormHTML(data: any, contact_data_confirmed:
var oldLen = this.value.length;
this.value = this.value.replace(/[^a-zA-Z0-9@._\-]/g, '');
var newLen = this.value.length;
// ✅ Для полей типа email setSelectionRange может не работать, используем try-catch
try {
if (this.type !== 'email') {
this.setSelectionRange(Math.min(cursorPos, newLen), Math.min(cursorPos, newLen));
}
} catch (e) {
// Игнорируем ошибку для полей типа email
console.debug('setSelectionRange not supported for email field');
}
});
}