我将模式设置为onTouched
,以验证模糊上的字段。我的"提交表单"按钮也被禁用,除非表单isValid
。问题是,当用户在最后一个字段中并键入and时,它是有效的,而所有其他字段都是有效的时,提交按钮仍然被禁用。我希望在那一点上启用它,并对字段进行验证。
从本质上讲,一旦用户进入最后一个字段,并且所有其他字段都已填充,我就需要将模式更改为all
或onChange
。
编辑:在onBlur模式中,启用/禁用提交按钮与反应挂钩形式的重复
您可以通过将选项传递给useForm
来更改默认行为。
根据您的版本,这应该可以工作。(我在V6上测试过(
const defaultValues = {
name: '...'
}
const form = useForm({
mode: 'onChange',
reValidateMode: 'onChange',
defaultValues,
});
const { isValid } = form.formState;
这将在onChange
而不是onBlur
上重新验证。您也可以将其与其他事件互换使用。