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", "guardianPhoneNumber": "0700000001",
"guardianEmail": "guardian.user@example.com", "guardianEmail": "guardian.user@example.com",
"isVisitor": false, "isVisitor": false,
"hasApprovedGdpr": true, "hasApprovedGdpr": false,
"friends": "Friend One", "friends": "Friend One",
"specialDiet": "None" "specialDiet": "None"
} }

View file

@ -14,12 +14,8 @@ export const getAgeFromSsn = (value: string) => {
return currentYear - birthYear; return currentYear - birthYear;
}; };
export const isValidName = (value: string) => { export const isValidName = (value: string) =>
if (!/^[\p{L}\-\s]+$/u.test(value)) return false; /^[\p{L}]+([-\s][\p{L}]+)?$/u.test(value);
if ((value.match(/-/g) ?? []).length > 1) return false;
if ((value.match(/\s/g) ?? []).length > 1) return false;
return true;
};
export const isValidEmail = (value: string) => export const isValidEmail = (value: string) =>
/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value); /^[^\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."; nextFieldErrors.firstName = "Förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedFirstName)) else if (!isValidName(trimmedFirstName))
nextFieldErrors.firstName = 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) if (!trimmedSurName)
nextFieldErrors.surName = "Efternamn är obligatoriskt."; nextFieldErrors.surName = "Efternamn är obligatoriskt.";
else if (trimmedSurName.length > 30) else if (trimmedSurName.length > 30)
nextFieldErrors.surName = "Efternamn får vara max 30 tecken."; nextFieldErrors.surName = "Efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedSurName)) else if (!isValidName(trimmedSurName))
nextFieldErrors.surName = 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 (!trimmedGrade) nextFieldErrors.grade = "Årskurs är obligatorisk.";
if (!trimmedGuardianFirstName) if (!trimmedGuardianFirstName)
nextFieldErrors.guardianFirstName = nextFieldErrors.guardianFirstName =
@ -157,7 +157,7 @@ export default function RegisterPage() {
"Vårdnadshavares förnamn får vara max 30 tecken."; "Vårdnadshavares förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedGuardianFirstName)) else if (!isValidName(trimmedGuardianFirstName))
nextFieldErrors.guardianFirstName = 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) if (!trimmedGuardianLastName)
nextFieldErrors.guardianLastName = nextFieldErrors.guardianLastName =
"Vårdnadshavares efternamn är obligatoriskt."; "Vårdnadshavares efternamn är obligatoriskt.";
@ -166,7 +166,7 @@ export default function RegisterPage() {
"Vårdnadshavares efternamn får vara max 30 tecken."; "Vårdnadshavares efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedGuardianLastName)) else if (!isValidName(trimmedGuardianLastName))
nextFieldErrors.guardianLastName = 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) if (!trimmedGuardianPhone)
nextFieldErrors.guardianPhoneNumber = nextFieldErrors.guardianPhoneNumber =
"Vårdnadshavares Mobilnummer är obligatoriskt."; "Vårdnadshavares Mobilnummer är obligatoriskt.";

View file

@ -101,13 +101,13 @@ export default function VolunteerPage() {
else if (trimmedFirstName.length > 30) else if (trimmedFirstName.length > 30)
nextFieldErrors.firstName = "Förnamn får vara max 30 tecken."; nextFieldErrors.firstName = "Förnamn får vara max 30 tecken.";
else if (!isValidName(trimmedFirstName)) 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) if (!trimmedSurName)
nextFieldErrors.surName = "Efternamn är obligatoriskt."; nextFieldErrors.surName = "Efternamn är obligatoriskt.";
else if (trimmedSurName.length > 30) else if (trimmedSurName.length > 30)
nextFieldErrors.surName = "Efternamn får vara max 30 tecken."; nextFieldErrors.surName = "Efternamn får vara max 30 tecken.";
else if (!isValidName(trimmedSurName)) 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) if (!trimmedPhoneNumber)
nextFieldErrors.phoneNumber = "Mobilnummer är obligatoriskt."; nextFieldErrors.phoneNumber = "Mobilnummer är obligatoriskt.";
if (!trimmedEmail) nextFieldErrors.email = "E-post är obligatorisk."; if (!trimmedEmail) nextFieldErrors.email = "E-post är obligatorisk.";