@matthew.ngo/reform
Version:
A flexible and powerful React form management library with advanced validation, state observation, and multi-group support
20 lines (19 loc) • 624 B
TypeScript
import { FieldState } from "../../types";
export interface FormStateManager<T> {
fieldState: {
isDirty: (index: number, fieldName: keyof T) => boolean;
isTouched: (index: number, fieldName: keyof T) => boolean;
get: (index: number, fieldName: keyof T) => FieldState;
};
formState: {
isDirty: boolean;
isValid: boolean;
touched: boolean;
isSubmitting: boolean;
submitCount: number;
isValidating: boolean;
};
reset: () => void;
trigger: (name?: string) => Promise<boolean>;
watch: (name?: string) => any;
}