首页 > 解决方案 > Ant Design Form.getFieldsError 总是返回空错误

问题描述

我有一个带有一些字段验证的简单 AntD 表单。我期望错误数组在调用 getFieldsError 函数时保存例如所需的错误。但返回的错误数组始终为空,即使错误在 UI 中内联显示。

        const [form] = Form.useForm();

        <Form className={otherProps.className} form={form}>
            <Form.Item
              name="name"
              rules={[
                { required: true, message: 'A name is required!' },
                () => ({
                  validator(_, value) {
                    if (!!items.find((item: Item) => item.name === value)) {
                      return Promise.reject(new Error('The name must be unique!'));
                    }
                    return Promise.resolve();
                  },
                }),
              ]}
              initialValue={itemForm.item.name}
            >
              <Input
                value={itemForm.item.name}
                placeholder="Item name"
                onChange={(event: ChangeEvent<HTMLInputElement>) => {
                  form.setFieldsValue({ name: event.target.value });
                  console.log(form.getFieldsError());
                }}
              />
            </Form.Item>
          </Form>

标签: javascriptreactjsformsantd

解决方案


推荐阅读