繁体   English   中英

使用Redux-form验证字段

[英]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.emailerrors对象内的一个对象,即

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM