Material Ui - Добавить обязательный атрибут в TextField в режиме «выбор» - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь сделать «обязательным» TextField в режиме выбора. Я попытался добавить required prop, как в этом фрагменте, но это не блокирует событие отправки, если я ничего не выбрал. Хотя это добавляет '*' к метке.

Пожалуйста, отметьте эту песочницу

<TextField
  id="select-currency"
  select
  label="Select"
  value={this.state.currency}
  onChange={this.handleChange("currency")}
  required
>
  {currencies.map(option => (
    <MenuItem key={option.value} value={option.value}>
      {option.label}
    </MenuItem>
  ))}
</TextField>

ОБНОВЛЕНИЕ: (уточнение действительно) Я говорю о проверке HTML5. В примере с песочницей есть поля «Выбрать» и «Текст», установка нужного текстового поля блокирует событие отправки и отображает собственную ошибку html5, говорящую «это поле обязательно», это не тот случай, если поле «выбрать».

Ответы [ 2 ]

0 голосов
/ 02 сентября 2018

Material Ui предоставляет другой компонент Native. Выберите для обработки этого вида собственной проверки.

Пожалуйста, проверьте этот пример

Edit Material demo

0 голосов
/ 02 сентября 2018

Это не полевая ответственность за контроль поведения формы. Это родительско-дочерние отношения и передача данных сверху вниз.

Форма (компонент) предоставляет текущее значение для компонента (информация о действительности, обработчик изменений) компоненту поля. В поле отображается содержимое с использованием стилей и элементов в зависимости от реквизита (*, когда требуется, границы ошибки и т. Д.), Но его роль в форме определения значения / срока действия / отправки.

...