Form 的 validate 注意判空

<Form.Item
  name="confirm"
  label="Confirm Password"
  dependencies={["password"]}
  hasFeedback
  rules={[
    {
      required: true,
      message: "Please confirm your password!",
    },
    ({ getFieldValue }) => ({
      validator(_, value) {
        if (!value || getFieldValue("password") === value) {
          return Promise.resolve()
        }
        return Promise.reject(new Error("The new password that you entered do not match!"))
      },
    }),
  ]}
>
  <Input.Password />
</Form.Item>

需要注意一下,即使 rule 中存在

   {
  required: true,
  message: 'Please confirm your password!',
   },

在后面的自定义校验(validator)中,也需要对 value 进行判断是否非空。

否则容易抛出其他的异常。