Skip to content
Snippets Groups Projects
Commit 909ce746 authored by lass's avatar lass
Browse files

Add front end validation

parent cdef42c9
No related branches found
No related tags found
1 merge request!398Greg 342 roledate error
Pipeline #187288 passed
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
"nationalIdNumberRequired": "Norwegian national ID number required", "nationalIdNumberRequired": "Norwegian national ID number required",
"roleTypeRequired": "Role type is required", "roleTypeRequired": "Role type is required",
"roleEndRequired": "Role end date is required", "roleEndRequired": "Role end date is required",
"invalidEndDate": "Chosen role must have an earlier end date",
"emailRequired": "E-mail is required", "emailRequired": "E-mail is required",
"consentRequired": "This consent is required", "consentRequired": "This consent is required",
"invalidMobilePhoneNumber": "Invalid phone number", "invalidMobilePhoneNumber": "Invalid phone number",
......
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
"nationalIdNumberRequired": "Fødselsnummer/D-nummer er obligatorisk", "nationalIdNumberRequired": "Fødselsnummer/D-nummer er obligatorisk",
"roleTypeRequired": "Rolletype er obligatorisk", "roleTypeRequired": "Rolletype er obligatorisk",
"roleEndRequired": "Sluttdato for rolle er obligatorisk", "roleEndRequired": "Sluttdato for rolle er obligatorisk",
"invalidEndDate": "Valgt rolle må ha en tidligere sluttdato",
"emailRequired": "E-post er obligatorisk", "emailRequired": "E-post er obligatorisk",
"consentRequired": "Dette samtykket er obligatorisk", "consentRequired": "Dette samtykket er obligatorisk",
"invalidMobilePhoneNumber": "Ugyldig telefonnummer", "invalidMobilePhoneNumber": "Ugyldig telefonnummer",
......
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
"nationalIdNumberRequired": "Fødselsnummer/D-nummer er påkrevd", "nationalIdNumberRequired": "Fødselsnummer/D-nummer er påkrevd",
"roleTypeRequired": "Rolletype er påkrevd", "roleTypeRequired": "Rolletype er påkrevd",
"roleEndRequired": "Sluttdato for rolle er påkrevd", "roleEndRequired": "Sluttdato for rolle er påkrevd",
"invalidEndDate": "Vald rolle må ha ein tidlegare sluttdato",
"emailRequired": "E-post er påkrevd", "emailRequired": "E-post er påkrevd",
"consentRequired": "Dette samtykket er påkrevd", "consentRequired": "Dette samtykket er påkrevd",
"invalidMobilePhoneNumber": "Ugyldig telefonnummer", "invalidMobilePhoneNumber": "Ugyldig telefonnummer",
......
...@@ -305,6 +305,7 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) { ...@@ -305,6 +305,7 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) {
control={control} control={control}
rules={{ rules={{
required: true, required: true,
validate: () => Number(getValues('end_date')) <= Number(maxDate),
}} }}
render={({ field }) => ( render={({ field }) => (
<DatePicker <DatePicker
...@@ -328,6 +329,11 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) { ...@@ -328,6 +329,11 @@ function NewGuestRole({ guest, reloadGuestInfo }: NewGuestRoleProps) {
{t('validation.roleEndRequired')} {t('validation.roleEndRequired')}
</Box> </Box>
)} )}
{errors.end_date && errors.end_date.type === 'validate' && (
<Box sx={{ typography: 'caption', color: 'error.main' }}>
{t('validation.invalidEndDate')}
</Box>
)}
{displayContactAtUnit && ( {displayContactAtUnit && (
<TextField <TextField
id="contact" id="contact"
......
...@@ -315,7 +315,11 @@ const StepPersonForm = forwardRef( ...@@ -315,7 +315,11 @@ const StepPersonForm = forwardRef(
<Controller <Controller
name="role_end" name="role_end"
control={control} control={control}
rules={{ required: true }} rules={{
required: true,
validate: () =>
Number(getValues('role_end')) <= Number(todayPlusMaxDays),
}}
render={({ field }) => ( render={({ field }) => (
<DatePicker <DatePicker
mask="____-__-__" mask="____-__-__"
...@@ -331,11 +335,16 @@ const StepPersonForm = forwardRef( ...@@ -331,11 +335,16 @@ const StepPersonForm = forwardRef(
/> />
)} )}
/> />
{!!errors.role_end && ( {!!errors.role_end && errors.role_end.type === 'required' && (
<Box sx={{ typography: 'caption', color: 'red' }}> <Box sx={{ typography: 'caption', color: 'red' }}>
{t('validation.roleEndRequired')} {t('validation.roleEndRequired')}
</Box> </Box>
)} )}
{!!errors.role_end && errors.role_end.type === 'validate' && (
<Box sx={{ typography: 'caption', color: 'red' }}>
{t('validation.invalidEndDate')}
</Box>
)}
{displayContactAtUnit && ( {displayContactAtUnit && (
<TextField <TextField
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment