Skip to content
Snippets Groups Projects
Commit b492b675 authored by Tore.Brede's avatar Tore.Brede
Browse files

Merge branch 'add_role_start_validation_rule' into 'master'

Adding a validation check for role start being before role end date

See merge request !141
parents 06429e45 bbb5d4db
No related branches found
No related tags found
1 merge request!141Adding a validation check for role start being before role end date
Pipeline #99967 failed
......@@ -86,7 +86,9 @@
"invalidMobilePhoneNumber": "Invalid phone number",
"invalidEmail": "Invalid e-mail address",
"passportNumberRequired": "Passport number required",
"mobilePhoneRequired": "Mobile phone is required"
"mobilePhoneRequired": "Mobile phone is required",
"startDateMustBeSet": "Start date must be set",
"startDateMustBeBeforeEndDate": "Start date has to be before end date"
},
"button": {
"back": "Back",
......
......@@ -86,7 +86,9 @@
"invalidMobilePhoneNumber": "Ugyldig telefonnummer",
"invalidEmail": "Ugyldig e-postadresse",
"passportNumberRequired": "Passnummer er obligatorisk",
"mobilePhoneRequired": "Mobilnummer er obligatorisk"
"mobilePhoneRequired": "Mobilnummer er obligatorisk",
"startDateMustBeSet": "Startdato må være satt",
"startDateMustBeBeforeEndDate": "Startdato må være før sluttdato"
},
"button": {
"back": "Tilbake",
......
......@@ -87,7 +87,9 @@
"invalidMobilePhoneNumber": "Ugyldig telefonnummer",
"invalidEmail": "Ugyldig e-postadresse",
"passportNumberRequired": "Passnummer er obligatorisk",
"mobilePhoneRequired": "Mobilnummer er obligatorisk"
"mobilePhoneRequired": "Mobilnummer er obligatorisk",
"startDateMustBeSet": "Startdato må vere satt",
"startDateMustBeBeforeEndDate": "Startdato må vere før sluttdato"
},
"button": {
"back": "Tilbake",
......
......@@ -62,6 +62,7 @@ const StepPersonForm = forwardRef(
formState: { errors },
reset,
setValue,
getValues,
} = useForm<RegisterFormData>()
const onSubmit = handleSubmit(submit)
......@@ -93,6 +94,19 @@ const StepPersonForm = forwardRef(
useImperativeHandle(ref, () => ({ doSubmit }))
const validateStartDateBeforeEndDate = (startDate: Date | undefined) => {
if (!startDate) {
return t('validation.startDateMustBeSet')
}
const roleEnd = getValues('role_end')
if (roleEnd && startDate > roleEnd) {
// The role end date is set, but is is before the start date
return t('validation.startDateMustBeBeforeEndDate')
}
return true
}
return (
<>
<Typography
......@@ -185,9 +199,11 @@ const StepPersonForm = forwardRef(
))}
</TextField>
{/* There are no particular constraints on the date pickers. It should be allowed to add a role with a start date that is in the past for instance */}
<Controller
name="role_start"
control={control}
rules={{ validate: validateStartDateBeforeEndDate }}
render={({ field }) => (
<DatePicker
mask="____-__-__"
......@@ -201,7 +217,11 @@ const StepPersonForm = forwardRef(
/>
)}
/>
{!!errors.role_start && (
<Box sx={{ typography: 'caption', color: 'red' }}>
{errors.role_start.message}
</Box>
)}
<Controller
name="role_end"
control={control}
......
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