使用Redux表单验证字段

时间:2018-04-25 23:29:38

标签: reactjs react-redux redux-form react-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'时,我知道我做错了吗?

3 个答案:

答案 0 :(得分:0)

errors.invididual.emailerrors对象中的一个对象,即

errors = {
    individual: {
        email: 'Required'
    }
}

validate()函数的顶部,您可能已声明errors对象,但它不知道其上的individual属性。这就是仅email字段有效的原因 - 您已定义errors并将email属性设置为required

我不确定它是否有效,但您必须执行以下操作:

const errors = {
    individual: {}
};

然后你可以分配errors.individual.email = 'Required'

答案 1 :(得分:0)

更改名称字段,使其不使用点。使用它individualEmail将是标准的命名方式。你不应该使用。名字

答案 2 :(得分:0)

试试这个

sysret_check