@uex/web-extensions
Version:
## Installation
80 lines (79 loc) • 4.2 kB
TypeScript
import { Validators, ValidatorFn } from '@angular/forms';
import { FormData } from './classes/data';
import { FormSchema } from './classes/schema';
import { FormSchemaData } from './form.interface';
export interface FormSchemaValidations {
required?: boolean | FunctionBoolean;
requiredTrue?: boolean | FunctionBoolean;
minLength?: number | FunctionNumber;
maxLength?: number | FunctionNumber;
pattern?: string | RegExp | FunctionRegExp;
email?: boolean | FunctionBoolean;
phone?: boolean | FunctionBoolean;
cpf?: boolean | FunctionBoolean;
cnpj?: boolean | FunctionBoolean;
rg?: boolean | FunctionBoolean;
cep?: boolean | FunctionBoolean;
date?: boolean | FunctionBoolean;
minDate?: Date | FunctionDate;
maxDate?: Date | FunctionDate;
time?: boolean | FunctionBoolean;
minTime?: Date | FunctionDate;
maxTime?: Date | FunctionDate;
min?: number | FunctionNumber;
max?: number | FunctionNumber;
equals?: string | FunctionString;
fileType?: Array<string> | string | FunctionArrayString;
}
export declare class FormValidators {
static required(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static requiredTrue(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static minLength(rule: number | FunctionNumber, key: string, form: FormData): ValidatorFn;
static maxLength(rule: number | FunctionNumber, key: string, form: FormData): ValidatorFn;
static pattern(rule: string | RegExp | FunctionRegExp, key: string, form: FormData): ValidatorFn;
static email(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static phone(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static cpf(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static cnpj(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static rg(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static cep(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static date(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static minDate(rule: Date | FunctionDate, key: string, form: FormData): ValidatorFn;
static maxDate(rule: Date | FunctionDate, key: string, form: FormData): ValidatorFn;
static time(rule: boolean | FunctionBoolean, key: string, form: FormData): ValidatorFn;
static minTime(rule: string | FunctionString, key: string, form: FormData): ValidatorFn;
static maxTime(rule: string | FunctionString, key: string, form: FormData): ValidatorFn;
static min(rule: number | FunctionNumber, key: string, form: FormData): ValidatorFn;
static max(rule: number | FunctionNumber, key: string, form: FormData): ValidatorFn;
static equals(rule: string | FunctionString, key: string, form: FormData): ValidatorFn;
static fileType(rule: Array<string> | string | FunctionArrayString, key: string, form: FormData): ValidatorFn;
}
export declare const FormMessages: {
"custom": (error: any) => any;
"required": string;
"pattern": string;
"maxLength": (error: any) => string;
"minLength": (error: any) => string;
"email": string;
"phone": string;
"cpf": string;
"cnpj": string;
"rg": string;
"cep": string;
"date": string;
"minDate": (error: any) => string;
"maxDate": (error: any) => string;
"minTime": (error: any) => string;
"maxTime": (error: any) => string;
"min": (error: any) => string;
"max": (error: any) => string;
"equals": (error: any) => string;
"fileType": string;
};
export declare function GetSchemaValidators(schema: FormSchemaData | FormSchema, form: FormData, add_value?: boolean): Array<any | Validators> | ValidatorFn;
export declare type FunctionString = () => string;
export declare type FunctionNumber = () => number;
export declare type FunctionBoolean = () => boolean;
export declare type FunctionRegExp = () => string | RegExp;
export declare type FunctionDate = () => Date;
export declare type FunctionArrayString = () => string | Array<string>;