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

Мне нужна проверка для моей формы добавления кредитной карты, в которой я хочу, чтобы пользователь не мог набирать после 16 символов в текстовом поле.Какой лучший способ сделать что-то подобное.

1 Ответ

0 голосов
/ 11 июня 2018
<Input
      value={this.state.cardNo}
      onChange={event => {
        if (event.target.value && event.target.value.length <= 16) {
          this.setState({ cardNo: event.target.value });
        }
      }}
    />;

Используйте состояние и проверьте длину <= 16, тогда только setState иначе оставьте и поместите значение состояния во входное значение и при отправке значения вы можете отправить из состояния. </p>

Примечание: Вам не нужно использовать избыточность только для проверки на стороне клиента.

В случае избыточных форм:

используйте эту ссылку

import { actions } from 'react-redux-form';

function emailIsValid(email) {
  // terrible validation, I know
  return email && email.length > 0;
}

// in the connected component's render() method...
const { dispatch, user } = this.props;

return
<input type="text"
  onChange={(e) => e.target.value.length <= 16 && dispatch(actions.change('user.email', e))}      
/>

Мое предложение не использовать избыточные формы, которые могут привести к значительным проблемам с производительностью

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