使用函数作为redux表单中的输入验证道具

使用函数作为redux表单中的输入验证道具,redux,redux-form,Redux,Redux Form,我有一个关于验证道具的问题。 假设我们(…) 在组件中,我们定义如下: <Field> validate = {validate} </Field> 验证={validate} 为什么我们不能写validate={validate(value)}或者为什么这样写是不正确的:validate={()=>validate(value)} 谢谢 字段上的验证道具采用一个函数(或一组函数),该函数应用于验证传入字段值。因此,您不能编写validate={someCusto

我有一个关于验证道具的问题。 假设我们(…) 在组件中,我们定义如下:

<Field>
 validate = {validate}
</Field>

验证={validate}
为什么我们不能写validate={validate(value)}或者为什么这样写是不正确的:
validate={()=>validate(value)}

谢谢

字段上的
验证
道具采用一个函数(或一组函数),该函数应用于验证传入字段值。因此,您不能编写
validate={someCustomValidator(value)}
,除非
someCustomValidator
函数是您定义的函数,它反过来返回函数

使用
validate={()=>someCustomValidator(value)}
应该可以工作,但在您的示例上下文中没有太大意义(value来自哪里?)。如果改为使用
validate={(value)=>someCustomValidator(value)}
,这更有意义,但这是有问题的,因为每次带有
字段的组件重新呈现时,这将创建一个新函数。并根据:

注意:如果validate属性更改,该字段将重新注册

这可能不是你想要的

所以,使用

//验证
const someCustomValidator=值=>{
//给出大约一半时间的误差
返回Math.random()<0.5?
未定义://验证正常
“验证失败”;//这将在meta.error中可用
}
//其他地方

是正确的使用方法。但请注意,
字段
内部不知道如何显示潜在的验证错误。你必须自己解决。有关示例,请参见。

字段
上的
验证
属性采用一个函数(或一组函数),该函数应用于验证传入字段值。因此,您不能编写
validate={someCustomValidator(value)}
,除非
someCustomValidator
函数是您定义的函数,它反过来返回函数

使用
validate={()=>someCustomValidator(value)}
应该可以工作,但在您的示例上下文中没有太大意义(value来自哪里?)。如果改为使用
validate={(value)=>someCustomValidator(value)}
,这更有意义,但这是有问题的,因为每次带有
字段的组件重新呈现时,这将创建一个新函数。并根据:

注意:如果validate属性更改,该字段将重新注册

这可能不是你想要的

所以,使用

//验证
const someCustomValidator=值=>{
//给出大约一半时间的误差
返回Math.random()<0.5?
未定义://验证正常
“验证失败”;//这将在meta.error中可用
}
//其他地方

是正确的使用方法。但请注意,
字段
内部不知道如何显示潜在的验证错误。你必须自己解决。请参阅以获取示例。

您使用的是哪个redux表单版本?而且,你的代码对我来说没有多大意义。你能提供更多的源代码和更多的信息来简化你的问题吗?这不是问题。这只是一个我需要更深入理解的问题。我使用的是最新版本。这个答案很好地说明了redux表单验证的工作方式。您使用的redux表单版本可能重复?而且,你的代码对我来说没有多大意义。你能提供更多的源代码和更多的信息来简化你的问题吗?这不是问题。这只是一个我需要更深入理解的问题。我使用的是最新版本。这个答案很好地说明了redux表单验证的工作方式。可能重复的