fix: Add protection to prevent saveFormData without SMS code
Added validation to ensure saveFormData is only called after SMS verification: - Check if SMS code is provided - Show error message if called without SMS code - Prevent data from being sent to Redis without verification This prevents accidental form submission without SMS approval. Files: - frontend/src/components/form/StepClaimConfirmation.tsx
This commit is contained in:
@@ -93,10 +93,18 @@ export default function StepClaimConfirmation({
|
||||
}, [claimPlanData]);
|
||||
|
||||
// Функция сохранения данных формы - публикация в Redis канал
|
||||
// ⚠️ ВАЖНО: Эта функция должна вызываться ТОЛЬКО после SMS-верификации!
|
||||
const saveFormData = useCallback(async (formData: any, smsCode?: string) => {
|
||||
console.log('💾 Публикуем данные формы в Redis канал:', formData);
|
||||
console.log('📱 SMS код для публикации:', smsCode || '(не передан)');
|
||||
|
||||
// Защита: если SMS код не передан, это ошибка (данные не должны отправляться без верификации)
|
||||
if (!smsCode || smsCode.trim() === '') {
|
||||
console.error('❌ ОШИБКА: saveFormData вызван БЕЗ SMS кода! Данные не должны отправляться без верификации.');
|
||||
message.error('Ошибка: данные не могут быть отправлены без SMS-верификации');
|
||||
return;
|
||||
}
|
||||
|
||||
// Получаем данные из claimPlanData для формирования payload
|
||||
const claimId = claimPlanData?.claim_id || claimPlanData?.propertyName?.meta?.claim_id || '';
|
||||
const unifiedId = claimPlanData?.unified_id || claimPlanData?.propertyName?.meta?.unified_id || '';
|
||||
@@ -194,12 +202,15 @@ export default function StepClaimConfirmation({
|
||||
|
||||
if (response.ok) {
|
||||
message.success('Код подтвержден!');
|
||||
console.log('✅ SMS код успешно проверен:', code);
|
||||
|
||||
// Закрываем модалку
|
||||
setSmsModalVisible(false);
|
||||
setSmsCodeSent(false);
|
||||
smsForm.resetFields();
|
||||
|
||||
// Отправляем данные в Redis канал с SMS кодом
|
||||
console.log('📤 Вызываем saveFormData с SMS кодом:', code);
|
||||
saveFormData(pendingFormData, code);
|
||||
|
||||
// Показываем сообщение об успешной отправке
|
||||
|
||||
Reference in New Issue
Block a user