@testtoster

Как задать ограничение на ввод символов?

Есть поле вы которое вводятся символы. Как сделать так, чтобы когда пользователь вводил менее 6 символов ему выдавалось сообщение об этом?

constructor(props) {
    super(props);
    this.showText = this.showText.bind(this);
    this.showText2 = this.showText2.bind(this);
  };

  showText2(e) {
    this.setState({ text2: e.target.value });
  }

  <input defaultValue={this.showText} onInput={this.showText2} />
  • Вопрос задан
  • 539 просмотров
Пригласить эксперта
Ответы на вопрос 1
GreyCrew
@GreyCrew
Full-stack developer
Тут даже реакт не нужен. Просто можно добавить html5 атрибут
<input type="text" name="name" minlength="6" maxlength="10" size="10">


UPD
И можно конечно добавить событие onBlur
constructor(props) {
    super(props);
    this.showText = this.showText.bind(this);
    this.showText2 = this.showText2.bind(this);
  };

  showText2(e) {
    this.setState({ text2: e.target.value });
  }

  onFocusOff = (e) => {
    if(this.state.text2.length < 6){
      this.setState({ alert: "Не менее 6 символов" });
    }
  }

  <input defaultValue={this.showText} onBlur={this.onFocusOff} onInput={this.showText2} />
  {this.state.alert && <p>{this.state.alert}</p>}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы