diff --git a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts index 602d5a1..3aec4b8 100644 --- a/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/administration/pages/employee-invite/employee-invite.component.ts @@ -14,7 +14,7 @@ import { BehaviorSubject, Observable } from 'rxjs'; }) export class EmployeeInviteComponent { formGroup: FormGroup = new FormGroup({ - emails: new FormControl('', [RequiredValidator('E-postadresser'), CommaSeparatedEmailValidator()]), + emails: new FormControl('', [RequiredValidator(), CommaSeparatedEmailValidator()]), }); private _lastInvites$ = new BehaviorSubject(null); lastInvites$: Observable = this._lastInvites$.asObservable(); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts index 985cd1e..f39de83 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-card/components/deltagare-tab-reports/deltagare-tab-reports.component.ts @@ -18,7 +18,7 @@ export class DeltagareTabReportsComponent { readonly reportsFormControlName = 'reports'; reportPickerFormGroup: FormGroup = this.formBuilder.group({ - reports: this.formBuilder.control('', [RequiredValidator('Rapporttyp')]), + reports: this.formBuilder.control('', [RequiredValidator('Rapporttyp är obligatoriskt')]), }); selectableReportTypes: Array = [ @@ -27,7 +27,7 @@ export class DeltagareTabReportsComponent { // { name: 'Signal om arbete eller studier', value: 'signal' }, ]; - constructor(private formBuilder: FormBuilder, private router: Router) { } + constructor(private formBuilder: FormBuilder, private router: Router) {} get reportsFormControl(): AbstractControl | null { return this.reportPickerFormGroup?.get(this.reportsFormControlName); diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.ts index 2a72dfd..7f952aa 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-avvikelserapport/deltagare-avvikelserapport.component.ts @@ -1,17 +1,17 @@ +import { FormSelectItem } from '@af/digi-ng/_form/form-select'; import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core'; import { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; +import { Avrop } from '@msfa-models/avrop.model'; import { AvvikelseAlternativ, AvvikelseRequestData } from '@msfa-models/avvikelse.model'; +import { CustomError } from '@msfa-models/error/custom-error'; +import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model'; +import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model'; import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service'; +import { RequiredValidator } from '@msfa-validators/required.validator'; import { BehaviorSubject, combineLatest, Observable, Subscription } from 'rxjs'; import { map, shareReplay, switchMap, take } from 'rxjs/operators'; import { DeltagareAvvikelserapportService } from './deltagare-avvikelserapport.service'; -import { Avrop } from '@msfa-models/avrop.model'; -import { FragorForAvvikelser } from '@msfa-models/fragor-for-avvikelser.model'; -import { RequiredValidator } from '@msfa-validators/required.validator'; -import { FormSelectItem } from '@af/digi-ng/_form/form-select'; -import { OrsaksKoderAvvikelse } from '@msfa-models/orsaks-koder-avvikelse.model'; -import { CustomError } from '@msfa-models/error/custom-error'; interface Params { genomforandeReferens: string; @@ -63,8 +63,8 @@ export class DeltagareAvvikelserapportComponent implements OnInit, OnDestroy { private subscriptions: Subscription[] = []; private todayDateISO = new Date().toISOString().slice(0, 10); avvikelseFormGroup = new FormGroup({ - [this.reasonFormName]: new FormControl(null, RequiredValidator('En orsak')), //[this.orsakFormControlName]: - [this.reportingDateFormName]: new FormControl(this.todayDateISO, RequiredValidator('Datum')), + [this.reasonFormName]: new FormControl(null, RequiredValidator('Orsak är obligatorisk')), + [this.reportingDateFormName]: new FormControl(this.todayDateISO, RequiredValidator('Datum är obligatoriskt')), [this.questionsFormName]: new FormArray([]), }); private formData$: Observable = this.avvikelseFormGroup @@ -199,7 +199,7 @@ export class DeltagareAvvikelserapportComponent implements OnInit, OnDestroy { this.currentQuestions.push(question); this.questionsFormArray.push( - new FormControl('', this.questionIsRequired(question) ? RequiredValidator('Frågan') : null) + new FormControl('', this.questionIsRequired(question) ? RequiredValidator('Frågan är obligatorisk') : null) ); } } diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts index 4de5f46..72d4e7b 100644 --- a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-details/pages/deltagare-reports/deltagare-periodisk-redovisning/deltagare-periodisk-redovisning.component.ts @@ -39,8 +39,8 @@ export class DeltagarePeriodiskRedovisningComponent { initializePeriodiskRedovisningFormGroup(activitiesList: Activity[]): void { this.periodiskRedovisningFormGroup = new FormGroup({ - lamnatJobbForslag: new FormControl(null, [RequiredValidator('lamnatJobbForslag')]), - providedSprakStod: new FormControl(null, [RequiredValidator('providedSprakStod')]), + lamnatJobbForslag: new FormControl(null, [RequiredValidator('lamnatJobbForslag är obligatoriskt')]), + providedSprakStod: new FormControl(null, [RequiredValidator('providedSprakStod är obligatoriskt')]), activities: new FormArray([]), }); this.getActivitesFormArray(activitiesList); diff --git a/apps/mina-sidor-fa/src/app/shared/components/handledare-picker-form/handledare-picker-form.component.ts b/apps/mina-sidor-fa/src/app/shared/components/handledare-picker-form/handledare-picker-form.component.ts index 7ff599f..e98b1d9 100644 --- a/apps/mina-sidor-fa/src/app/shared/components/handledare-picker-form/handledare-picker-form.component.ts +++ b/apps/mina-sidor-fa/src/app/shared/components/handledare-picker-form/handledare-picker-form.component.ts @@ -30,7 +30,7 @@ export class HandledarePickerFormComponent implements OnChanges { @Input() invalid = false; @Output() selectedHandledareChanged = new EventEmitter(); formGroup: FormGroup = new FormGroup({ - handledare: new FormControl(null, [RequiredValidator('Handledare')]), + handledare: new FormControl(null, [RequiredValidator('Handledare är obligatorisk')]), }); selectableHandledare: FormSelectItem[] = []; submitted = false; diff --git a/apps/mina-sidor-fa/src/app/shared/components/organization-picker-form/organization-picker-form.component.ts b/apps/mina-sidor-fa/src/app/shared/components/organization-picker-form/organization-picker-form.component.ts index 0e11991..2d0156b 100644 --- a/apps/mina-sidor-fa/src/app/shared/components/organization-picker-form/organization-picker-form.component.ts +++ b/apps/mina-sidor-fa/src/app/shared/components/organization-picker-form/organization-picker-form.component.ts @@ -27,7 +27,7 @@ export class OrganizationPickerFormComponent implements OnChanges { @Output() selectedOrganizationChanged = new EventEmitter(); organizationPickerFormGroup: FormGroup = new FormGroup({ - organization: new FormControl(null, [RequiredValidator('Organisation')]), + organization: new FormControl(null, [RequiredValidator('Organisation är obligatorisk')]), }); selectableOrganizations: Array = []; diff --git a/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts b/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts index ab9e387..3f774f7 100644 --- a/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts +++ b/apps/mina-sidor-fa/src/app/shared/utils/validators/required.validator.ts @@ -1,15 +1,11 @@ import { AbstractControl, ValidatorFn } from '@angular/forms'; import { ValidationError } from '@msfa-models/validation-error.model'; -export function RequiredValidator(label = 'Fältet', arrayValue = false): ValidatorFn { +export function RequiredValidator(message = 'Fältet är obligatoriskt'): ValidatorFn { return (control: AbstractControl): ValidationError => { if (control) { - if ((arrayValue && !control.value) || (Array.isArray(control.value) && !control.value.length)) { - return { type: 'required', message: `Minst ${label} behöver väljas` }; - } - - if (!control.value) { - return { type: 'required', message: `${label} är obligatoriskt` }; + if (!control.value || (Array.isArray(control.value) && !control.value.length)) { + return { type: 'required', message }; } }