File
errorMessage
|
Type
|
string | Observable<string>
|
validator
|
Type
|
ValidatorFn | AsyncValidatorFn
|
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
>;