Ant 设计表单 validateTrigger 从“onBlur”动态变化到“onChange”

tyl*_*lik 8 antd

Ant 设计默认验证 'onChange' 事件上的错误,这意味着用户在第一次输入时会出错,这是一种糟糕的 UI 体验。

validateTrigger 可以更改为 'onBlur',但它总是会在模糊时验证,这更糟。

预期:用户开始输入 - 不显示错误 用户结束输入并模糊 - 显示错误 从那时起,当用户输入时,错误显示\隐藏。

无法通过状态将 validateTrigger 从“onBlur”动态更改为“onChange”。我试过了,但失败了。

示例链接,当用户输入时显示错误:https : //codesandbox.io/s/jxqyjy293

另一个库(Formik)的示例链接,它可以正常工作 https://codesandbox.io/s/lp904qlj1q

我原来的 github 问题 https://github.com/ant-design/ant-design/issues/12542

Ofe*_*ova 0

这种类型的验证对我有用:

<FormItem
      {...formItemLayout}
      label="E-mail"
      hasFeedback
    >
      {getFieldDecorator('email', {
        rules: [{
          type: 'email', message: 'The input is not valid E-mail!',
        }, {
          required: true, message: 'Please input your E-mail!',
        }],
      })(
        <Input />
      )}
    </FormItem>
Run Code Online (Sandbox Code Playgroud)

来源: https: //2x.ant.design/components/form/#components-form-demo-register