import { ValidationErrors, ValidatorFn } from "@angular/forms"; import { FormData } from "./classes/data"; import { FormSchema } from "./classes/schema"; import * as _moment from "moment"; export interface FormSchemaValidations { required?: boolean | FormValidationBooleanFunction; requiredTrue?: boolean | FormValidationBooleanFunction; minLength?: number | FormValidationNumberFunction; maxLength?: number | FormValidationNumberFunction; pattern?: string | RegExp | FormValidationRegExpFunction; email?: boolean | FormValidationBooleanFunction; phone?: boolean | FormValidationBooleanFunction; cpf?: boolean | FormValidationBooleanFunction; cnpj?: boolean | FormValidationBooleanFunction; rg?: boolean | FormValidationBooleanFunction; cep?: boolean | FormValidationBooleanFunction; date?: boolean | FormValidationBooleanFunction; minDate?: FormValidationDateRule | FormValidationDateFunction; maxDate?: FormValidationDateRule | FormValidationDateFunction; time?: boolean | FormValidationBooleanFunction; minTime?: string | FormValidationStringFunction; maxTime?: string | FormValidationStringFunction; min?: number | FormValidationNumberFunction; max?: number | FormValidationNumberFunction; equals?: string | FormValidationStringFunction; fileType?: Array | string | FormValidationArrayStringFunction; } export interface FormSchemaValidationMessages { custom?: FormSchemaValidationMessage; required?: FormSchemaValidationMessage; requiredTrue?: FormSchemaValidationMessage; minLength?: FormSchemaValidationMessage; maxLength?: FormSchemaValidationMessage; pattern?: FormSchemaValidationMessage; email?: FormSchemaValidationMessage; phone?: FormSchemaValidationMessage; cpf?: FormSchemaValidationMessage; cnpj?: FormSchemaValidationMessage; rg?: FormSchemaValidationMessage; cep?: FormSchemaValidationMessage; date?: FormSchemaValidationMessage; minDate?: FormSchemaValidationMessage; maxDate?: FormSchemaValidationMessage; time?: FormSchemaValidationMessage; minTime?: FormSchemaValidationMessage; maxTime?: FormSchemaValidationMessage; min?: FormSchemaValidationMessage; max?: FormSchemaValidationMessage; equals?: FormSchemaValidationMessage; fileType?: FormSchemaValidationMessage; } /** * @ignore */ export declare class FormValidators { static custom(rule: void, key: string, form: FormData): ValidatorFn; static required(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static requiredTrue(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static minLength(rule: number | FormValidationNumberFunction, key: string, form: FormData): ValidatorFn; static maxLength(rule: number | FormValidationNumberFunction, key: string, form: FormData): ValidatorFn; static pattern(rule: string | RegExp | FormValidationRegExpFunction, key: string, form: FormData): ValidatorFn; static email(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static phone(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static cpf(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static cnpj(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static rg(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static cep(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static date(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static minDate(rule: FormValidationDateRule | FormValidationDateFunction, key: string, form: FormData): ValidatorFn; static maxDate(rule: FormValidationDateRule | FormValidationDateFunction, key: string, form: FormData): ValidatorFn; static time(rule: boolean | FormValidationBooleanFunction, key: string, form: FormData): ValidatorFn; static minTime(rule: string | FormValidationStringFunction, key: string, form: FormData): ValidatorFn; static maxTime(rule: string | FormValidationStringFunction, key: string, form: FormData): ValidatorFn; static min(rule: number | FormValidationNumberFunction, key: string, form: FormData): ValidatorFn; static max(rule: number | FormValidationNumberFunction, key: string, form: FormData): ValidatorFn; static equals(rule: string | FormValidationStringFunction, key: string, form: FormData): ValidatorFn; static fileType(rule: Array | string | FormValidationArrayStringFunction, key: string, form: FormData): ValidatorFn; } export declare const FormMessages: FormSchemaValidationMessages; /** * @ignore */ export declare function GetSchemaValidators(schema: FormSchema): Array; export declare type FormValidationDateRule = _moment.Moment | Date | string; export declare type FormValidationStringFunction = (schema: FormSchema, form: FormData) => string; export declare type FormValidationNumberFunction = (schema: FormSchema, form: FormData) => number; export declare type FormValidationBooleanFunction = (schema: FormSchema, form: FormData) => boolean; export declare type FormValidationRegExpFunction = (schema: FormSchema, form: FormData) => string | RegExp; export declare type FormValidationDateFunction = (schema: FormSchema, form: FormData) => FormValidationDateRule; export declare type FormValidationArrayStringFunction = (schema: FormSchema, form: FormData) => string | Array; export declare type FunctionValidationMessage = (error: ValidationErrors, schema: FormSchema) => string; export declare type FunctionValidationCustomMessage = (error: string, schema: FormSchema) => string; export declare type FormSchemaValidationMessage = string | FunctionValidationMessage | FunctionValidationCustomMessage;