Merged in fix/LOY-280-phone (pull request #2393)

fix(LOY-280): phone number validation

* fix(LOY-280): phone number validation

* Return formatted phonenumber even though its not valid


Approved-by: Christian Andolf
This commit is contained in:
Linus Flood
2025-06-19 12:24:33 +00:00
parent ea6d3be140
commit 3c4ff0a792
2 changed files with 15 additions and 6 deletions

View File

@@ -60,7 +60,9 @@ export default function Form({ user }: EditFormProps) {
email: user.email, email: user.email,
language: user.language ?? langToApiLang[lang], language: user.language ?? langToApiLang[lang],
phoneNumber: phoneNumber, phoneNumber: phoneNumber,
phoneNumberCC: phoneNumberCC || getDefaultCountryFromLang(lang), phoneNumberCC: phoneNumber
? phoneNumberCC
: getDefaultCountryFromLang(lang),
password: "", password: "",
newPassword: "", newPassword: "",
retypeNewPassword: "", retypeNewPassword: "",

View File

@@ -4,16 +4,23 @@ export function formatPhoneNumber(
phoneNumber: string, phoneNumber: string,
phoneNumberCC?: string | null phoneNumberCC?: string | null
): string { ): string {
if (!phoneNumber) return ""
const normalized = phoneNumber.trim().replaceAll(/-|\s/g, "")
const parsedPhonenumber = phoneNumberCC?.length const parsedPhonenumber = phoneNumberCC?.length
? parsePhoneNumberFromString( ? parsePhoneNumberFromString(
phoneNumber, normalized,
phoneNumberCC.toUpperCase() as CountryCode phoneNumberCC.toUpperCase() as CountryCode
) )
: parsePhoneNumberFromString(phoneNumber) : parsePhoneNumberFromString(normalized)
if (parsedPhonenumber?.isValid()) { if (!parsedPhonenumber?.isValid()) {
return parsedPhonenumber.number console.warn(
`Invalid phone number: ${phoneNumber} with country code: ${phoneNumberCC}`,
parsedPhonenumber
)
} }
return phoneNumber return parsedPhonenumber?.number || normalized
} }