Реакция - проверка Yup: возможно ли получить ключ от одного вложенного объекта и использовать его в другом? - PullRequest
0 голосов
/ 27 марта 2020

Я бы хотел проверить от одного ряда к другому. Строка заголовка содержит несколько столбцов. Я хотел бы убедиться, что строка 1 столбца 2 выдает ошибку, если столбец titleRow 2 не активен.

В любом случае можно использовать что-то вроде "titleRow.column2" в следующем?

  titleRow: yup.object().shape({
    column1: yup
      .string()
      .required("Title is required")
    column2: yup.string().when(["column3"], {
      is: column3 => !column3,
      then: yup.string().max(0, "misc error"),
      otherwise: yup.string()
    }),
    column3: yup
      .string()
      .required()
  }),

  row1: yup.object().shape({
    column1: yup
      .string()
      .required()
    column2: yup.string().when(["titleRow.column2"], {
      is: (titleRow.column2) => !(titleRow.column2)
      then: yup.string().max(0, "misc error"),
      otherwise: yup.string()
    }),
    column3: yup
      .string()
      .required()
  }),
});
...