diff --git a/Front-End/src/components/Inscription/ResponsableInputFields.js b/Front-End/src/components/Inscription/ResponsableInputFields.js index 231cce7..2723aaa 100644 --- a/Front-End/src/components/Inscription/ResponsableInputFields.js +++ b/Front-End/src/components/Inscription/ResponsableInputFields.js @@ -34,6 +34,7 @@ export default function ResponsableInputFields({ const getLocalError = (index, field) => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + const dateRegex = /^\d{4}-\d{2}-\d{2}$/; if ( // Student Form (field === 'last_name' && @@ -48,7 +49,8 @@ export default function ResponsableInputFields({ !emailRegex.test(guardians[index].associated_profile_email))) || (field === 'birth_date' && (!guardians[index].birth_date || - guardians[index].birth_date.trim() === '')) || + guardians[index].birth_date.trim() === '' || + !dateRegex.test(guardians[index].birth_date))) || (field === 'profession' && (!guardians[index].profession || guardians[index].profession.trim() === '')) || @@ -136,7 +138,7 @@ export default function ResponsableInputFields({ name="nomResponsable" type="text" label={t('lastname')} - value={item.last_name} + value={item.last_name || ''} onChange={(event) => { onGuardiansChange(item.id, 'last_name', event.target.value); }} @@ -148,7 +150,7 @@ export default function ResponsableInputFields({ name="prenomResponsable" type="text" label={t('firstname')} - value={item.first_name} + value={item.firstname || ''} onChange={(event) => { onGuardiansChange(item.id, 'first_name', event.target.value); }} @@ -163,7 +165,7 @@ export default function ResponsableInputFields({ name="mailResponsable" type="email" label={t('email')} - value={item.associated_profile_email} + value={item.associated_profile_email || ''} onChange={(event) => { onGuardiansChange( item.id, @@ -178,7 +180,7 @@ export default function ResponsableInputFields({ { onGuardiansChange(item.id, 'phone', event.target.value); }} @@ -193,7 +195,7 @@ export default function ResponsableInputFields({ name="dateNaissanceResponsable" type="date" label={t('birthdate')} - value={item.birth_date} + value={item.birth_date || ''} onChange={(event) => { onGuardiansChange(item.id, 'birth_date', event.target.value); }} @@ -205,7 +207,7 @@ export default function ResponsableInputFields({ name="professionResponsable" type="text" label={t('profession')} - value={item.profession} + value={item.profession || ''} onChange={(event) => { onGuardiansChange(item.id, 'profession', event.target.value); }} @@ -220,7 +222,7 @@ export default function ResponsableInputFields({ name="adresseResponsable" type="text" label={t('address')} - value={item.address} + value={item.address || ''} onChange={(event) => { onGuardiansChange(item.id, 'address', event.target.value); }} diff --git a/Front-End/src/components/Inscription/SiblingInputFields.js b/Front-End/src/components/Inscription/SiblingInputFields.js index 12d9d47..21512f9 100644 --- a/Front-End/src/components/Inscription/SiblingInputFields.js +++ b/Front-End/src/components/Inscription/SiblingInputFields.js @@ -17,6 +17,7 @@ export default function SiblingInputFields({ }; const getLocalError = (index, field) => { + const dateRegex = /^\d{4}-\d{2}-\d{2}$/; if ( (field === 'last_name' && (!siblings[index].last_name || @@ -26,7 +27,8 @@ export default function SiblingInputFields({ siblings[index].first_name.trim() === '')) || (field === 'birth_date' && (!siblings[index].birth_date || - siblings[index].birth_date.trim() === '')) + siblings[index].birth_date.trim() === '' || + !dateRegex.test(siblings[index].birth_date))) ) { return 'Champs requis'; } diff --git a/Front-End/src/components/Inscription/StudentInfoForm.js b/Front-End/src/components/Inscription/StudentInfoForm.js index 46d7672..ac3e256 100644 --- a/Front-End/src/components/Inscription/StudentInfoForm.js +++ b/Front-End/src/components/Inscription/StudentInfoForm.js @@ -109,6 +109,7 @@ export default function StudentInfoForm({ }; const getLocalError = (field) => { + const dateRegex = /^\d{4}-\d{2}-\d{2}$/; if ( // Student Form (field === 'last_name' && @@ -120,7 +121,9 @@ export default function StudentInfoForm({ (field === 'nationality' && (!formData.nationality || formData.nationality.trim() === '')) || (field === 'birth_date' && - (!formData.birth_date || formData.birth_date.trim() === '')) || + (!formData.birth_date || + formData.birth_date.trim() === '' || + !dateRegex.test(formData.birth_date))) || (field === 'birth_place' && (!formData.birth_place || formData.birth_place.trim() === '')) || (field === 'birth_postal_code' &&