Change regex to match backend.

This commit is contained in:
Kruille 2026-03-01 18:14:54 +01:00
parent 95bacea624
commit b708b53fbc
4 changed files with 9 additions and 13 deletions

View file

@ -19,7 +19,7 @@ Content-Type: application/json
"guardianPhoneNumber": "0700000001",
"guardianEmail": "guardian.user@example.com",
"isVisitor": false,
"hasApprovedGdpr": true,
"hasApprovedGdpr": false,
"friends": "Friend One",
"specialDiet": "None"
}

View file

@ -14,12 +14,8 @@ export const getAgeFromSsn = (value: string) => {
return currentYear - birthYear;
};
export const isValidName = (value: string) => {
if (!/^[\p{L}\-\s]+$/u.test(value)) return false;
if ((value.match(/-/g) ?? []).length > 1) return false;
if ((value.match(/\s/g) ?? []).length > 1) return false;
return true;
};
export const isValidName = (value: string) =>
/^[\p{L}]+([-\s][\p{L}]+)?$/u.test(value);
export const isValidEmail = (value: string) =>
/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);

View file

@ -140,14 +140,14 @@ export default function RegisterPage() {
nextFieldErrors.firstName = "Förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedFirstName))
nextFieldErrors.firstName =
"Förnamn får endast innehålla bokstäver och bindestreck.";
"Förnamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedSurName)
nextFieldErrors.surName = "Efternamn är obligatoriskt.";
else if (trimmedSurName.length > 30)
nextFieldErrors.surName = "Efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedSurName))
nextFieldErrors.surName =
"Efternamn får endast innehålla bokstäver och bindestreck.";
"Efternamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedGrade) nextFieldErrors.grade = "Årskurs är obligatorisk.";
if (!trimmedGuardianFirstName)
nextFieldErrors.guardianFirstName =
@ -157,7 +157,7 @@ export default function RegisterPage() {
"Vårdnadshavares förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedGuardianFirstName))
nextFieldErrors.guardianFirstName =
"Vårdnadshavares förnamn får endast innehålla bokstäver och bindestreck.";
"Vårdnadshavares förnamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedGuardianLastName)
nextFieldErrors.guardianLastName =
"Vårdnadshavares efternamn är obligatoriskt.";
@ -166,7 +166,7 @@ export default function RegisterPage() {
"Vårdnadshavares efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedGuardianLastName))
nextFieldErrors.guardianLastName =
"Vårdnadshavares efternamn får endast innehålla bokstäver och bindestreck.";
"Vårdnadshavares efternamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedGuardianPhone)
nextFieldErrors.guardianPhoneNumber =
"Vårdnadshavares Mobilnummer är obligatoriskt.";

View file

@ -101,13 +101,13 @@ export default function VolunteerPage() {
else if (trimmedFirstName.length > 30)
nextFieldErrors.firstName = "Förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedFirstName))
nextFieldErrors.firstName = "Förnamn får endast innehålla bokstäver och bindestreck.";
nextFieldErrors.firstName = "Förnamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedSurName)
nextFieldErrors.surName = "Efternamn är obligatoriskt.";
else if (trimmedSurName.length > 30)
nextFieldErrors.surName = "Efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedSurName))
nextFieldErrors.surName = "Efternamn får endast innehålla bokstäver och bindestreck.";
nextFieldErrors.surName = "Efternamn får endast innehålla bokstäver, ett bindestreck eller ett mellanslag.";
if (!trimmedPhoneNumber)
nextFieldErrors.phoneNumber = "Mobilnummer är obligatoriskt.";
if (!trimmedEmail) nextFieldErrors.email = "E-post är obligatorisk.";