UNPKG

@cosva-lab/form-builder

Version:
30 lines (29 loc) 1.33 kB
import { FieldBuilder } from "../builders/FieldBuilder.mjs"; import { FieldType, FieldsProps, FieldsToObject, ValidateInputsValidator, ValidationError } from "../../types.mjs"; //#region src/utils/validate/InputsValidator.d.ts declare class InputsValidator<Fields extends FieldBuilder<any>[]> { valid: boolean; get invalid(): boolean; fields: Fields; fieldsMap: FieldsToObject<Fields>; _validate: ValidateInputsValidator<Fields>; get validate(): ValidateInputsValidator<Fields> | undefined; set validate(validate: ValidateInputsValidator<Fields> | undefined); constructor({ fields, validate }: Pick<FieldsProps<Fields>, 'fields' | 'validate'>); callbackField(callback: (field: FieldBuilder<FieldType>, cancel: () => void) => void): Promise<Fields>; private validityBase; validity(): Promise<boolean>; hasErrors(params?: { setErrors?: boolean; throwFirstError?: boolean; validateDisabled?: boolean; }): Promise<boolean>; addErrors<Field extends Fields[number]>(errors: { [key in Field['name']]?: ValidationError[] }): void; setErrors<Field extends Fields[number]>(errors?: { [key in Field['name']]?: ValidationError[] }): void; getErrors(): Promise<{ [P in keyof FieldsToObject<Fields>]: FieldsToObject<Fields>[P]["errors"] }>; } //#endregion export { InputsValidator as default };