fix lang и номер телефона не даст отправить данные ФК если короче положенного
This commit is contained in:
parent
87f78ff8cf
commit
b495974dba
@ -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": "выберите смайлик",
|
||||
|
Loading…
Reference in New Issue
Block a user