๐ React Hooks for form state management and validation (Web + React Native)
๐ฎ feat: add reactive errors prop at useForm (#11188)
useForm({
errors, // server errors
})
๐ฅ๏ธ feat: add react-server bundle (#11162) ๐ฉ chore: upgrade Node.js and pnpm (#11163) ๐ช feat: add ValidationModeFlags Type (#11144) ๐ fix #11267 disabled prop does not affect controller validation (#11273) ๐ง refactor(util function): Enhance Consistency in Utility Functions: Standardizing Export, Function Types, and Naming (#11268) โจ๏ธ change type structure of UseFormHandleSubmit (#11245) ๐ฎ fix(#11239): Set fields disabled state based on form and field disabled (#11241) ๐ข improved getDirtyFieldsFromDefaultValues type (#11238) ๐ fix #11229 issue with values not re-render the root form (#11231) ๐ fix #11218 useFieldArray focus issue with rules prop (#11221) ๐ง chore: improved isObjectType and swap (#11183)
thanks to @kotarella1110, @ssi02014, @thomasdbock, @mildfuzz and @Lennon57
๐ #11106 fix disabled prop not update dirty formState (#11143)
๐ fix controller update with disabled
prop from useForm
(#11142)
๐ fix controller update with disabled prop from useForm
๐งฑ feature: disable prop for useForm (#10496)
const App = () => {
const [disabled, setDisabled] = useState(false);
const { handleSubmit } = useForm({ disabled });
return (
<form
onSubmit={handleSubmit(async () => {
setDisabled(true);
await sleep(100);
setDisabled(false);
})}
/ >
);
}
๐ตโ๐ซ fixed typo in useFormContext (#11126) ๐ซก strictly manage constants and improve types (#11101) ๐ fix #11076 disable toggle issue (#11090) ๐ fix: Solve the issue of race condition with resolver. (#10991) ๐ docs: fix useWatch example syntax error (#11005) ๐ readme arabic version (#10992)
thanks to @Iyadchafroud @domuk-k @mehunk @ssi02014 and @tykhan
๐ซก allow keepIsSubmitSuccessful flag (#9640)
const { reset } = useForm()
<Form
onSubmit={() => {
reset(formValues, {
keepIsSubmitSuccessful: true,
});
}}
/>
๐ฆ fix typo in form.ts (#10978) ๐คก close #10907 potential fix on unmounted component (#10980) ๐ช simplify logic for subscription by name (#10947)
thanks to @stefanpl, @kai-dorschner-twinsity & @nitschSB
๐ fix implicit type coercion (#10949) ๐ close #10932 omit disabled prop when not defined (#10937) ๐ง fix controller test is dirty (#10899)
thanks to @samimakicc & @pierluigigiancola
๐ fix #10878 return disabled field state (#10879)
thanks to @Moshyfawn
๐งโโ๏ธ feat: support disabled prop for useController (#10810)
const [disabled, setDisabled] = useState(false)
useController({
disabled
})
๐ซ prevent reset argument mutation (#10847) ๐ fix: add exact option for array name in useWatch. (#10707) ๐ update isDirty when setting disabled in register (#10805) ๐งถ feat: trigger passed names to construct resolver options (#10590)
thanks to @selimb @vonagam @jgullstr and @rabbitson87
disabled
propdisabled
props for useForm
useForm({
disabled: true
})
const App = () => {
const [disabled, setDisabled] = useState(false);
const { register, handleSubmit, control } = useForm({
disabled,
});
return (
<form
onSubmit={handleSubmit(async () => {
setDisabled(true);
await sleep(100);
setDisabled(false);
})}
>
<input
type={'checkbox'}
{...register('checkbox')}
data-testid={'checkbox'}
/>
<input type={'radio'} {...register('radio')} data-testid={'radio'} />
<input type={'range'} {...register('range')} data-testid={'range'} />
<select {...register('select')} data-testid={'select'} />
<textarea {...register('textarea')} data-testid={'textarea'} />
<Controller control={control} render={({ field }) => <input disabled={field.disabled} />} name="test" />
<button>Submit</button>
</form>
);
}
๐ fix #10767 dep issue with replayio (#10768) ๐ fix #10762 async submit with Form component (#10766) ๐ซ add test case for issue #10744 to avoid future regressions (#10759)
thanks to @eg-bernardo