Ant Design 表单自定义验证器

pou*_*uya 4 javascript typescript antd ant-design-pro

在ant design中,我们可以提供一个自定义验证器,如下所示:

<Form.Item label="First Name">
  {getFieldDecorator("firstName", {
    rules: [
      {
        validator: (rule: any, value: string, cb: (msg?: string) => void) => {
          value.length < 3 ? cb("too short") : cb();
        }
      }
    ]
  })(<Input />)}
</Form.Item>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我正在使用打字稿,因为它的转译器非常酷,它希望我也使用rule参数。validator我找不到任何有关它的文档,也不知道它有什么用。那么,如果您可以的话,请简要解释一下它是什么以及应该如何使用它?

Den*_*ash 5

作为验证规则 的一部分,validator接受rules作为第一个参数。

由于它是 的包装器async-validator,您可以检查Rules规范:

function(rule, value, callback, source, options)

规则:源描述符中与正在验证的字段名称相对应的验证规则。它始终被分配一个字段属性以及正在验证的字段的名称。

您还可以设置断点并查看其对您的需求的价值。