Как проверить правильность выбора реакции? - PullRequest
0 голосов
/ 01 марта 2019

Я нашел подтверждение yup для реакции-выбора (множественный выбор). Пожалуйста, обратитесь по ссылке выбрать несколько элементов проверки реагирования-выбора в yup . Но мне не нужна проверка множественного выбора с использованием yup.Мне нужна базовая проверка для реакции выбора с использованием yup. Я пытался, но мне не удалось реализовать проверку реакции выбора с использованием yup.

Как мне добиться этого с помощью yup. Пожалуйста, помогите мне решить эту проблему.

Спасибо заранее.Лучший ответ будет оценен.

1 Ответ

0 голосов
/ 04 марта 2019

https://codesandbox.io/s/03zxq01okp

  • изменить topics на topic
  • изменить тип проверки темы с массива на строку
    • заменить max на required
    • добавить ensure по умолчанию к пустой строке для обработки очищаемого выбранного значения (https://github.com/jquense/yup#stringensure-schema)
  • изменить тип mapPropsToValues topic с массива на строку
  • использование value из topic для полезной нагрузки

Diff:

15,22c15,17
<     topics: Yup.array()
<       .max(1, "Pick at least 3 tags")
<       .of(
<         Yup.object().shape({
<           label: Yup.string().required(),
<           value: Yup.string().required()
<         })
<       )
---
>     topic: Yup.string()
>       .ensure()
>       .required("Topic is required!")
26c21
<     topics: []
---
>     topic: ""
31c26
<       topics: values.topics.map(t => t.value)
---
>       topic: values.topic.value
72c67
<         value={values.topics}
---
>         value={values.topic}
75,76c70,71
<         error={errors.topics}
<         touched={touched.topics}
---
>         error={errors.topic}
>         touched={touched.topic}
107c102
<     this.props.onChange("topics", value);
---
>     this.props.onChange("topic", value);
112c107
<     this.props.onBlur("topics", true);
---
>     this.props.onBlur("topic", true);
118c113
<         <label htmlFor="color">Topics (select at least 3) </label>
---
>         <label htmlFor="color">Topic</label>
156c151
<       <code>topics</code> that uses Jed Watson's{" "}
---
>       <code>topic</code> that uses Jed Watson's{" "}
...