@cosva-lab/form-builder
Version:
React form builder.
26 lines (25 loc) • 1.61 kB
TypeScript
import { FieldsProps } from '../..';
import FieldBuilder from '../builders/FieldBuilder';
import type { ValidationErrors, ValidateInputsValidator, PropsField, NameField, GetArrayValues, GetFields, value, LabelPropsField } from '../../types';
import { Reducer } from '../types';
declare class InputsValidator<Name extends NameField = any, Item extends PropsField<value, Name> = PropsField<value, Name>, Fields extends Item[] = Item[], FieldsObject = Reducer<Fields>> {
valid: boolean;
get invalid(): boolean;
fields: GetArrayValues<GetFields<FieldsObject>>;
fieldsMap: GetFields<FieldsObject>;
_validate: ValidateInputsValidator<Name, Item, Fields, FieldsObject>;
get validate(): ValidateInputsValidator<Name, Item, Fields, FieldsObject> | undefined;
set validate(validate: ValidateInputsValidator<Name, Item, Fields, FieldsObject> | undefined);
constructor({ fields, validate, }: Pick<FieldsProps<Name, Item, Fields, FieldsObject>, 'fields' | 'validate'>);
callbackField(callback: (field: FieldBuilder<value, keyof FieldsObject, LabelPropsField>, cancel: () => void) => void): Promise<GetArrayValues<GetFields<FieldsObject>>>;
private validityBase;
validity(): Promise<boolean>;
hasErrors(params?: {
setErrors?: boolean;
throwFirstError?: boolean;
}): Promise<boolean>;
addErrors(errors: Record<string, ValidationErrors>): void;
setErrors(errors?: Record<string, ValidationErrors>): void;
getErrors(): Promise<{ [P in keyof FieldsObject]?: ValidationErrors | undefined; }>;
}
export default InputsValidator;