diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.html b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.html index 5ea92a4..a32d392 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.html +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.html @@ -83,6 +83,7 @@ diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.ts index 47e984a..81343bf 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/pages/deltagare-avvikelse/deltagare-avvikelse.component.ts @@ -15,11 +15,14 @@ import { FranvaroAlternativ } from '@msfa-models/franvaro-alternativ.model'; import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model'; import { KandaAvvikelseKoder, OrsaksKoderFranvaro } from '@msfa-models/orsaks-koder-franvaro.model'; import { + OrsakerIsRequiredCheck, AnnanKandOrsakeIsRequiredCheck, - DateIsRequiredCheck, DescriptionIsRequiredCheck, + DescriptionIsRequiredCheck, + DateIsRequiredCheck, + DayOrPartOfDayIsRequiredCheck, + StartTimeIsRequiredCheck, EndTimeIsRequiredCheck, - MotiveringIsRequiredCheck, - OrsakerIsRequiredCheck, StartTimeIsRequiredCheck + MotiveringIsRequiredCheck } from '@msfa-utils/validators/avvikelse-form-validator'; import { RequiredValidator } from '@msfa-utils/validators/required.validator'; import { Observable } from 'rxjs'; @@ -101,6 +104,7 @@ export class DeltagareAvvikelseComponent implements OnInit { OrsakerIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'orsaker'), AnnanKandOrsakeIsRequiredCheck.CheckIfRequired('orsakerFormGroup', 'andraKandaOrsaker'), DateIsRequiredCheck.CheckIfRequired('date'), + DayOrPartOfDayIsRequiredCheck.CheckIfRequired('dayOrPartOfDay'), StartTimeIsRequiredCheck.CheckIfRequired('timepickerFormGroup', 'startTime'), EndTimeIsRequiredCheck.CheckIfRequired('timepickerFormGroup', 'endTime'), MotiveringIsRequiredCheck.CheckIfRequired('fraga1') diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/avvikelse-form-validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/avvikelse-form-validator.ts index 370d7ce..8e550e6 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/avvikelse-form-validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/avvikelse-form-validator.ts @@ -35,6 +35,19 @@ export class OrsakerIsRequiredCheck { } } +export class DayOrPartOfDayIsRequiredCheck { + static CheckIfRequired( + controlToValidateName: string, + ): ValidatorFn { + return (fg: AbstractControl): { [key: string]: boolean } => { + const valueOfControlToValidate = fg?.get(controlToValidateName)?.value as string; + const isRequired = valueOfControlToValidate === null && fg?.get('alternative').value === Alternative.FRANVARO; + + return isRequired ? { dayOrPartOfDayIsRequired: true } : null; + }; + } +} + export class AnnanKandOrsakeIsRequiredCheck { static CheckIfRequired( nestedFormGroupName: string,