[英]Validate a Field with Redux-form
我尝试学习如何使用redux-form,但有一些问题。 例如,我有一个像这样的Field组件:
<Field
name='individual.email'
id="email"
component={ renderInput }
placeholder='test'
/>
在validate.js中,我有类似的内容:
if ( !values.individual.email ) {
errors.individual.email = 'Required'
}
但是我有错误:
TypeError: Cannot set property 'email' of undefined
如果我仅通过“电子邮件”更改字段的名称,则可以正常工作。任何对我的字段为“ individual.email”时我做错了的想法吗?
errors.invididual.email
是errors
对象内的一个对象,即
errors = {
individual: {
email: 'Required'
}
}
在validate()
函数的顶部,您可能已经声明了errors
对象,但是它不知道其上的individual
属性。 这就是为什么仅email
字段有效的原因-您已定义errors
并将其上的email
属性设置为required
。
我不确定它是否有效,但是您必须执行以下操作:
const errors = {
individual: {}
};
然后您可以分配errors.individual.email = 'Required'
更改名称字段,使其不使用点。 用它来命名individualEmail
将是标准的方式。 您不应该使用。 以名字
尝试这个
if ( values.individual && !values.individual.email ) {
errors.individual.email = 'Required'
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.