首页 > 解决方案 > React Admin - 如何禁用验证 onChange

问题描述

我正在使用react-admin,并且我有一个巨大的表单,带有一堆自定义验证。即使使用构建版本,它也很慢。

我试图找到一种方法来禁用更改验证并仅在blursubmit上进行验证。但我还没有找到解决方案甚至解决方法。

每次在我的一个输入文本中按下一个键(例如),验证都会被触发多次,并且字母需要一段时间才能出现。

这就是为什么我要禁用更改验证。

这是我的一种表格的示例,我在其中一个中写的每封信,FormTab都显示了“验证我”。

export const ThemeCreate: FC = (props: any) => (
  <Create {...props} title="ui.themes.create" mutationMode="pessimistic">
    <TabbedForm
      toolbar={<GenericCreateToolbar />}
      validateOnBlur
      warnWhenUnsavedChanges
      validate={() => {
        console.log('validate me!');
      }}
    >
      <MainFormTab />
      <TranslationsFormTab />
    </TabbedForm>
  </Create>
);

标签: javascriptreact-adminreact-final-formfinal-form

解决方案


您需要validateOnBlur={true}在表单组件中使用该道具。

该道具来自最终形式的<Form>组件,请参阅此文档页面中的最后一个https://final-form.org/docs/react-final-form/types/FormProps


推荐阅读