fix: Ajout du controle sur le format des dates

This commit is contained in:
N3WT DE COMPET
2025-05-03 16:52:02 +02:00
parent 889a3a48c5
commit e538ac3d56
3 changed files with 17 additions and 10 deletions

View File

@ -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({
<InputPhone
name="telephoneResponsable"
label="phone"
value={item.phone}
value={item.phone || ''}
onChange={(event) => {
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);
}}

View File

@ -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';
}

View File

@ -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' &&