@ng-flexy/form
Version:
Flexy components and tools to build Angular 8+ applications
77 lines (76 loc) • 2.39 kB
TypeScript
import { FormControl, ValidatorFn, FormArray } from '@angular/forms';
declare type ControlPath = (string | number)[] | string;
export interface CrossFieldsOptions {
lower: {
name: string;
path: ControlPath;
};
greater: {
name: string;
path: ControlPath;
};
}
export declare namespace FlexyFormsValidators {
function notEmptyValidator(control: FormControl): {
'not-empty': boolean;
};
function noWhitespaceValidator(control: FormControl): {
whitespace: boolean;
};
function emailValidator(control: FormControl): {
'invalid-email': {
currentValue: any;
};
};
function booleanValidator(control: FormControl): {
'invalid-boolean': {
currentValue: any;
};
};
function integerValidator(control: FormControl): {
'invalid-integer': {
currentValue: any;
};
};
function minValidator(min: number): ValidatorFn;
function maxValidator(max: number): ValidatorFn;
function numberValidator(control: FormControl): {
'invalid-number': {
currentValue: any;
};
};
function minLengthArray(min: number): (control: FormControl) => {
[key: string]: any;
};
function maxLengthArray(max: number): (control: FormControl) => {
[key: string]: any;
};
function isEmpty(control: FormControl): boolean;
function urlValidator(control: FormControl): {
'invalid-url': {
currentValue: any;
};
};
function crossFieldValidator(fields: CrossFieldsOptions): (control: FormControl) => {
[key: string]: any;
};
function crossFieldMinValidator(minPath: ControlPath): (control: FormControl) => {
[key: string]: any;
};
function crossFieldMaxValidator(maxPath: ControlPath): (control: FormControl) => {
[key: string]: any;
};
function crossFieldAbsoluteMinValidator(minPath: ControlPath): (control: FormControl) => {
[key: string]: any;
};
function forbiddenValuesValidator(forbiddenValues: (string | number)[]): (control: FormControl) => {
[key: string]: any;
};
function arrayUniqueFieldsValidator(data: {
path: ControlPath;
fieldName: string;
}): (control: FormArray) => {
[key: string]: any;
};
}
export {};