fix lang и номер телефона не даст отправить данные ФК если короче положенного

This commit is contained in:
Nastya 2025-07-26 01:38:35 +03:00
parent 87f78ff8cf
commit b495974dba
4 changed files with 17 additions and 9 deletions

@ -2,6 +2,6 @@ services:
respondent:
container_name: respondent
restart: unless-stopped
image: gitea.pena/squiz/frontanswerer/main:latest
image: gitea.pena/squiz/frontanswerer/main:202507260140
hostname: respondent
tty: true

@ -179,15 +179,26 @@ export const ContactForm = ({ currentQuestion, onShowResult }: Props) => {
// Функция валидации телефона
const validatePhone = (phoneValue: string) => {
// Если номер не пустой и не полный (меньше 10 символов) - это ошибка
if (phoneValue.length > 0 && phoneValue.length < 10) {
// Убираем все нецифровые символы и считаем только цифры
const digitsOnly = phoneValue.replace(/\D/g, "");
// Для российских номеров (начинающихся с +7) нужно 11 цифр
// Для остальных стран - минимум 10 цифр
const isRussianNumber = phoneValue.startsWith("+7");
const minDigits = isRussianNumber ? 11 : 10;
// Если есть какие-то символы в инпуте, но цифр меньше минимума - это ошибка
if (phoneValue.trim().length > 0 && digitsOnly.length < minDigits) {
return t("Please complete the phone number");
}
return "";
};
// Проверяем валидность телефона при каждом изменении
const isPhoneValid = phone.length === 0 || phone.length >= 10;
const digitsOnly = phone.replace(/\D/g, "");
const isRussianNumber = phone.startsWith("+7");
const minDigits = isRussianNumber ? 11 : 10;
const isPhoneValid = phone.trim().length === 0 || digitsOnly.length >= minDigits;
// Обработчик изменения телефона
const handlePhoneChange = (newPhone: string) => {
@ -321,7 +332,7 @@ export const ContactForm = ({ currentQuestion, onShowResult }: Props) => {
</Box>
<Button
disabled={!(ready && !fire)}
disabled={!(ready && !fire && isPhoneValid)}
variant="contained"
onClick={handleShowResultsClick}
sx={{

@ -26,7 +26,7 @@
"preview": "vite preview",
"cypress:open": "cypress open",
"prepublishOnly": "npm run build:package",
"deploy": "docker login gitea.pena && docker build -t gitea.pena/squiz/frontanswerer/main:latest . && docker push gitea.pena/squiz/frontanswerer/main:latest",
"deploy": "docker login gitea.pena && docker build -t gitea.pena/squiz/frontanswerer/$(git branch --show-current):202507260140 . && docker push gitea.pena/squiz/frontanswerer/$(git branch --show-current):202507260140",
"prepare": "husky"
},
"devDependencies": {

@ -67,9 +67,6 @@ const r = {
"Get results": "Получить результаты",
"Data sent successfully": "Данные успешно отправлены",
Step: "Шаг",
of: "из",
Prev: "Пред",
Next: "След",
"questions are not ready yet": "Вопросы для аудитории пока не готовы. Подождите",
"Add your image": "Добавьте своё изображение",
"select emoji": "выберите смайлик",