useForm
This hook creates a form, and returns it.
Import
import { useForm } from "@formiz/core";Form State
isValid
Return true if all form fields are valid, else return false.
const form = useForm();
form.isValid;isValidating
Return true if at least one field is running async validations, else return false.
const form = useForm();
form.isValidating;isSubmitted
Return true if the form has been submitted, else return false.
const form = useForm();
form.isSubmitted;resetKey
A key that change when form is reset.
Allows you to reset some internal state when the form is reset.
const form = useForm();
useEffect(() => {
/* Do a side effect on reset */
}, [form.resetKey]);currentStep
The name of the current step.
const form = useForm();
form.currentStep;steps
An array that contains all form steps.
const form = useForm();
form.steps;isStepPristine
Return true if all current step fields are pristine, else return false.
const form = useForm();
form.isStepPristine;isStepValid
Return true if all current step fields are valid, else return false.
const form = useForm();
form.isStepValid;isStepValidating
Return true if at least one current step field is running async validations, else
return false.
const form = useForm();
form.isStepValidating;isStepSubmitted
Return true if the current step has been submitted, else return false.
const form = useForm();
form.isStepSubmitted;isFirstStep
Return true if the current step is the first form step, else return false.
const form = useForm();
form.isFirstStep;isLastStep
Return true if the current step is the last form step, else return false.
const form = useForm();
form.isLastStep;Form Actions
submit()
Submit whole form.
const form = useForm();
form.submit();submitStep()
Submit current step.
const form = useForm();
form.submitStep();setErrors(errors)
Manually set errors on form fields.
const form = useForm();
form.setErrors({ field: "Error" });setValues(values, options)
Manually set form fields values.
keepPristine option allows you to choose if setValues keep unchanged fields pristine state. By default, keepPristine is false
const form = useForm();
form.setValues({ field: "New value" }, { keepPristine: true });reset(options)
Reset form's states and values. Options allows you to select the data you want to reset.
Available options: "pristine", "submitted", "touched", "validating", "debouncing", "resetKey", "currentStep", "visited", "values"
const form = useForm();
form.reset({ only: ["values"] });
form.reset({ exclude: ["pristine"] });getStepByFieldName(fieldName)
Get step informations from field name.
const form = useForm();
const step = form.getStepByFieldName("field");goToNextStep()
Navigate to next step.
const form = useForm();
form.goToNextStep();goToPreviousStep()
Navigate to previous step.
const form = useForm();
form.goToPreviousStep();goToStep(name)
Navigate to a step.
const form = useForm();
form.goToStep("step-2");