Проверить поле с помощью Redux-формы - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь научиться работать с избыточной формой, и у меня есть небольшая проблема.Например, у меня есть такой компонент 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 голосов
/ 26 апреля 2018

Изменение поля имени, чтобы оно не использовало точку.Используйте его individualEmail будет стандартный способ именования.Вы не должны использовать.В именах

0 голосов
/ 26 апреля 2018

попробуйте

 if ( values.individual && !values.individual.email ) {
            errors.individual.email = 'Required'
        }
0 голосов
/ 26 апреля 2018

errors.invididual.email - это объект внутри объекта errors, то есть

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

В верхней части вашей функции validate() вы, вероятно, объявили объект errors, но он не 'не знаю о свойстве individual.Вот почему работает только поле email - вы определили errors и задаете для него свойство email required.

Я не уверен, работает ли оно, но выпридется сделать что-то вроде:

const errors = {
    individual: {}
};

И тогда вы можете назначить errors.individual.email = 'Required'

...