React-datepicker: включить установку даты, только если ей 18 лет и старше - PullRequest
0 голосов
/ 11 октября 2018

У меня есть форма, в которой пользователь может предоставить необходимую информацию

Одним из полей является Дата рождения

Я использую пакет Reaction-datepicker дляэто конкретное поле

Кусок кода выглядит следующим образом:

        <label>
          <DatePicker
            autoComplete='off'
            dateFormatCalendar="MMMM"
            showYearDropdown
            scrollableYearDropdown
            onChange={this.handleChange}
            selected={this.state.formData.dob}
            maxDate={moment().subtract(6570, "days")}
            minDate={moment()}
            placeholderText="Date of birth"
            name="dob"
            customInput={
              <Input type='text' onKeyPress={e => e.preventDefault()} validations={[required]} value={this.state.formData.dob} />
            }
          />
        </label>

6570 = 18 * 365 - это дни, преобразованные из 18 лет, я знаю, что это не сплошной, потому что есть364 дня также

Вот снимок экрана, на котором средство выбора даты не может выбрать дату

https://gyazo.com/4d66a8e59dbca5e79c3af7d6de139d21

Любые мысли или рекомендации о том, как достичь целине менее 18 лет для отправки формы?

Спасибо!

1 Ответ

0 голосов
/ 11 октября 2018

Эту проблему можно решить, используя Пример конкретного диапазона дат .

<DatePicker
    selected={this.state.startDate}
    onChange={this.handleChange}
    minDate={moment().subtract(500, "years")}
    maxDate={moment().subtract(18, "years")}
    showDisabledMonthNavigation
/>

Рабочую демонстрацию можно проверить на codesandbox.io .

...