From c37b9cb8b98c4437a0a8383fba59469a0235e345 Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Mon, 11 Oct 2021 15:06:03 +0200 Subject: [PATCH] =?UTF-8?q?Fixed=20validation=20for=20fr=C3=A5nvaro-report?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../franvaro-report.validator.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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) {