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,
language: user.language ?? langToApiLang[lang],
phoneNumber: phoneNumber,
phoneNumberCC: phoneNumberCC || getDefaultCountryFromLang(lang),
phoneNumberCC: phoneNumber
? phoneNumberCC
: getDefaultCountryFromLang(lang),
password: "",
newPassword: "",
retypeNewPassword: "",

View File

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