import { AbstractControl, ValidatorFn } from '@angular/forms';
import { ValidationError } from '@msfa-models/validation-error.model';

export function RequiredValidator(message = 'Fältet är obligatoriskt'): ValidatorFn {
  return (control: AbstractControl): ValidationError => {
    if (control) {
      if (
        control.value === null ||
        control.value === undefined ||
        control.value === '' ||
        (Array.isArray(control.value) && !control.value.length)
      ) {
        return { required: message };
      }
    }

    return null;
  };
}
