File

libs/core/src/lib/form-support/validation.model.ts

Index

Properties

Properties

max (Optional)
Type number | Observable<number>
maxDate (Optional)
Type string
maxLength (Optional)
Type number
min (Optional)
Type number | Observable<number>
minDate (Optional)
Type string
minLength (Optional)
Type number
pattern (Optional)
Type string
validationParam (Optional)
Type ValidationParam
import { AsyncValidatorFn, ValidatorFn } from '@angular/forms';
import { Observable } from 'rxjs';
import { type ValidationParam } from '../models/validation-config.model';

interface ValidationParameter {
  min?: number | Observable<number>;
  max?: number | Observable<number>;
  minLength?: number;
  maxLength?: number;
  minDate?: string;
  maxDate?: string;
  pattern?: string;
  validationParam?: ValidationParam;
}

interface BaseValidationConfigItem {
  id: string;
  type: string;
  errorMessage?: string;
}

export type ValidationConfigItem = BaseValidationConfigItem & ValidationParameter;

interface BaseValidationConfig {
  validator: ValidatorFn | AsyncValidatorFn;
  validatorName: string;
  errorMessage: string | Observable<string>;
  async?: boolean;
}

export type ValidationConfig = BaseValidationConfig & ValidationParameter;

export type ValidationDefinitions = Record<
  string,
  (item: ValidationConfigItem) => ValidationConfig
>;

results matching ""

    No results matching ""