UNPKG

@funidata/ngx-fudis

Version:

Funidata Design System.

83 lines (82 loc) 2.63 kB
import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; import { Observable } from 'rxjs'; export type FudisValidatorMessage = Observable<string> | string; export interface FudisValidationErrors extends ValidationErrors { [key: string]: { message: FudisValidatorMessage; value?: unknown; } | null; } export interface FudisValidatorFn extends ValidatorFn { (control: AbstractControl): FudisValidationErrors | null; } export interface FudisValidatorsDatepickerSettings { value: Date; message: FudisValidatorMessage; } /** * Form Control Validators */ export declare const FudisValidators: { required: typeof required; email: typeof email; maxLength: typeof maxLength; minLength: typeof minLength; max: typeof max; min: typeof min; pattern: typeof pattern; datepickerMin: typeof datepickerMin; datepickerMax: typeof datepickerMax; }; /** * Fudis version of Validators.required */ declare function required(message: FudisValidatorMessage): FudisValidatorFn; /** * Fudis version of Validators.email */ declare function email(message: FudisValidatorMessage): FudisValidatorFn; /** * Fudis version of Validators.maxLength */ declare function maxLength(length: number, message: FudisValidatorMessage): FudisValidatorFn; /** * Fudis version of Validators.minLength * * @param length * @param message * @param valueRequired By default this validator does not require, that control value cannot be * empty. If set true, validator returns error, if control value is falsy. */ declare function minLength(length: number, message: FudisValidatorMessage, valueRequired?: boolean): FudisValidatorFn; /** * Fudis version of Validators.min */ declare function min(minValue: number, message: FudisValidatorMessage): FudisValidatorFn; /** * Fudis version of Validators.max */ declare function max(maxValue: number, message: FudisValidatorMessage): FudisValidatorFn; /** * Fudis version of Validators.pattern */ declare function pattern(regex: string | RegExp, message: FudisValidatorMessage): FudisValidatorFn; /** * Min date validator for Datepicker */ declare function datepickerMin(settings: FudisValidatorsDatepickerSettings): (control: AbstractControl) => { datepickerMin: { message: FudisValidatorMessage; value: Date; }; } | null; /** * Max date validator for Datepicker */ declare function datepickerMax(settings: FudisValidatorsDatepickerSettings): (control: AbstractControl) => { datepickerMax: { message: FudisValidatorMessage; value: Date; }; } | null; export {};