Как я могу вставить данные, используя ответный номер телефона? Ошибка проверки при вводе номера телефона - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь вставить данные, скажем, "требуется номер телефона". Я заполнил поле телефонного номера, и оно заполнено, но когда я нажимаю кнопку «Подтвердить», в поле «Телефонный номер» указано «Требуется номер телефона», несмотря на то, что я ввел номер телефона в поле «Телефонный номер».

Это проверка номера телефона:

     if(!values.phoneNumber){
              errors.phoneNumber = 'phoneNumber required'
               }

И это мой виджет Номер телефона:

import React, {useState} из 'response';

import 'реагировать на телефон- номер-вход / стиль css '. импортировать PhoneInput, {isValidPhoneNumber} из 'response-phone-number-input';

             const PhoneWidget = ({

                  step,
                  precision,
                  input,
                  placeholder,
                  label,
                  theme,
                  props,
                  meta: { valid,touched, error },
                  ...rest
                  }) =>
                  {

             const [value,setValue] = useState();


                    return(
                        <div className='form-group'> 
                        <label forname={input.name}>{label}</label> <br />
                         <PhoneInput
                           value={value}
                          placeholder={!input.value ? 'Please, type a number' : input.value}
                             //ISSUE  onChange={event => OnValueChange(event)}
                                    //Problem is here. Maybe I'm not setting the value
                                    onChange= {setValue}
                                              error={value ? (isValidPhoneNumber(value) ? undefined : 
                            'Invalid phone number')    : 'Number Phone required'}
                                     className='form-control'
                                           />
                                  //Here I get the validation error.
                                 {(!valid && touched) &&
                                     <p className='help-block'>{error}</p>
                                           }
                                {/*  <div className='text-danger' style={{ marginBottom: '20px' }}>
                                         {touched && error}
                                          </div>*/      
                                       </div>

                                           )
                                        }


                export default PhoneWidget;

Я не могу понять. Я набираю данные в поле «Телефонный номер», и когда я нажимаю кнопку «Отправить», когда поле «Телефонный номер заполнен», поле «Телефонный номер» получает сообщение об ошибке проверки и сообщает «Требуется телефонный номер».

Любой, кто знает, что я могу, исправить эту проблему?

1 Ответ

0 голосов
/ 25 февраля 2020

записать onChange= {setValue} как onChange = {e => setValue (e.target.value)}

...