diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.validator.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.validator.ts index b742122..4bbd21d 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.validator.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/franvaro-report/franvaro-report.validator.ts @@ -1,5 +1,6 @@ import { AbstractControl, ValidatorFn } from '@angular/forms'; import { ANNAN_KAND_ORSAK_ID, ANNAN_ORSAK_ID } from '@msfa-constants/franvaro-reasons'; +import { CHARACTER_REGEX } from '@msfa-constants/regex'; import { Franvaro } from '@msfa-models/franvaro.model'; const TIME_REGEX = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/; @@ -36,11 +37,18 @@ export class FranvaroReportValidator { ...errors, otherKnownReason: 'Känd orsak måste väljas', }; - } else if (otherKnownReason === ANNAN_ORSAK_ID && !knownReasonComment) { - errors = { - ...errors, - knownReasonComment: 'Beskrivning av frånvaro är obligatorisk', - }; + } else if (otherKnownReason === ANNAN_ORSAK_ID) { + if (!knownReasonComment) { + errors = { + ...errors, + knownReasonComment: 'Beskrivning av frånvaro är obligatorisk', + }; + } else if (!CHARACTER_REGEX.test(knownReasonComment)) { + errors = { + ...errors, + knownReasonComment: 'Beskrivning av frånvaro har en ogiltig värde', + }; + } } } if (!date) {