react-swift-form
Version:
React library fro form validation
33 lines (31 loc) • 1.28 kB
TypeScript
import { FormEvent, RefObject } from 'react';
import { IFormContext, IFormMode, IFormRevalidateMode, IMessages, IResetHandler, ISubmitErrorHandler, ISubmitHandler, ITransformers, IValidator, IValidatorObject } from '../types';
export interface IUseFormProps {
defaultValues?: Record<string, unknown>;
errorCallback?: (error: Error) => void;
filterLocalErrors?: boolean;
focusOnError?: boolean;
form?: HTMLFormElement;
messages?: IMessages;
mode?: IFormMode;
onBlurOptOut?: string[] | string;
onChangeOptOut?: string[] | string;
onReset?: IResetHandler;
onSubmit?: ISubmitHandler;
onSubmitError?: ISubmitErrorHandler;
revalidateMode?: IFormRevalidateMode;
transformers?: ITransformers;
useNativeValidation?: boolean;
validators?: Record<string, IValidator | IValidatorObject>;
}
export interface INativeFormProps {
noValidate: boolean;
onChange: (event: FormEvent<HTMLFormElement>) => void;
onReset: (event: FormEvent<HTMLFormElement>) => void;
onSubmit: (event: FormEvent<HTMLFormElement>) => void;
ref: RefObject<HTMLFormElement>;
}
export interface IUseFormResult extends IFormContext {
formProps: INativeFormProps;
}
export declare function useForm(props?: IUseFormProps): IUseFormResult;