From e6b90c27b44518bf29f728d580d37ac4a5268885 Mon Sep 17 00:00:00 2001 From: Yasiu1376 Date: Wed, 20 Dec 2023 14:54:13 +0330 Subject: [PATCH] fix phone number --- public/locales/fa/app.json | 3 ++- src/components/login/SendUserData.jsx | 21 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index 0c4efd3..0785888 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -99,7 +99,8 @@ "button_make_account": "ایجاد حساب", "button_request_verification": "دریافت کد یکبارمصرف", "sent_token_to": "ارسال کد یکبار مصرف به شماره", - "change_phone_number": "تغییر شماره" + "change_phone_number": "تغییر شماره", + "phone_number_max": "شماره تلفن می بایست 11 رقم باشد" }, "RegisterPage": { "link_routing_back_to": "بازگشت به", diff --git a/src/components/login/SendUserData.jsx b/src/components/login/SendUserData.jsx index 1f48025..19c7498 100644 --- a/src/components/login/SendUserData.jsx +++ b/src/components/login/SendUserData.jsx @@ -27,7 +27,12 @@ const SendUserDataComponent = ({ phone_number: PhoneNumber, }; const validationSchema = Yup.object().shape({ - phone_number: Yup.string().required(t("LoginPage.error_message_phone_number")), + phone_number: Yup.mixed() + .test("max", `${t("LoginPage.phone_number_max")}`, (value) => { + const stringValue = String(value); + return stringValue.length === 11 + }) + .required(t("LoginPage.error_message_phone_number")), }); const handleSubmit = (values, props) => { @@ -76,7 +81,19 @@ const SendUserDataComponent = ({ placeholder={t( "LoginPage.text_field_enter_your_phone_number" )} - type={"text"} + type={"tel"} + onChange={(event) => { + const inputValue = event.target.value; + if (isNaN(Number(inputValue))) { + return; + } + props.handleChange({ + target: { + name: "phone_number", + value: inputValue, + }, + }); + }} error={ !!(props.touched.phone_number && props.errors.phone_number) }