libs/core/src/lib/form-support/validation.model.ts
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
>;