Как получить статус проверки формы в «реакции-проверки» при отправке формы? - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь использовать act-validation для простой проверки формы в React.Я понял, как проверять поля в соответствии с моими потребностями, но я не понимаю, как получить «статус» формы, когда пользователь пытается отправить ее.

В документации сказано, чтокомпонент Form предоставляет 4 открытых метода: validate (name), validateAll (), showError (component [, error]), hideError (component)

Из того, что я понимаю, эти методы доступны по ссылке дляКомпонент формы:

<Form ref={c => { this.form = c }} onSubmit={this.handleSubmit.bind(this)}>

Когда я записываю консоль this.form в моем обработчике отправки, я получаю объект с вышеупомянутыми методами, но когда я вызываю один из них, например validateAll (), он возвращаетне определено.Я не понимаю, почему.

Может ли кто-нибудь помочь мне с этим конкретным плагином, или, возможно, порекомендовать другую простую альтернативу?Мне нужно выполнить очень простую проверку (но я не могу использовать встроенный HTML), и мне не нужно что-то причудливое, как реагирующая форма или избыточная форма (я даже не использую Redux в этом проекте)

1 Ответ

0 голосов
/ 11 июня 2018

Я проверил его в песочнице, пожалуйста, просмотрите его,

Edit x36o24lpwo

, и я могу сказать вам, что он работает таким образом.Когда вы вызываете this.form.validateAll(), он возвращает undefined, НО он выполняет все функции проверки и добавляет форму сообщений об ошибках, определенных в этих функциях.Поэтому может быть даже нет необходимости validateAll возвращать что-то

Решение, которое я нашел, чтобы предоставить state.isValid.Установите isValid = true при изменении формы

handleChange() {
  this.setState({ isValid: true });
}

и в каждом наборе валидатора state.isValid = false, если валидация не пройдена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...