Ant 设计 Form validateTrigger 动态从“onBlur”变为“onChange”

Posted

技术标签:

【中文标题】Ant 设计 Form validateTrigger 动态从“onBlur”变为“onChange”【英文标题】:Ant design Form validateTrigger change dynamically from "onBlur", to "onChange" 【发布时间】:2019-03-14 01:21:03 【问题描述】:

默认情况下,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

【问题讨论】:

【参考方案1】:

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

<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>

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

【讨论】:

以上是关于Ant 设计 Form validateTrigger 动态从“onBlur”变为“onChange”的主要内容,如果未能解决你的问题,请参考以下文章

form.validateFields() 在 ant 设计表单中的 onValuesChange 内失败

蚂蚁设计风格

基于vue Ant-Design 的表单设计器,快速开发

form表单调接口校验 比如后台验证用户名是否存在

表单设计器 k-form-design

Ant Design表单Form常用方法