4

yup.validationSchema に検証フィールドを追加および削除する方法

const validationSchema = yup.object().shape({
    password: yup
        .string()
        .label('Password')
        .required()
        .min(2, 'Seems a bit short...')
        .max(10, 'We prefer insecure system, try a shorter password.'),
    });
4

2 に答える 2

3

スキーマ自体の値に依存するなど、別のアプローチを探している人向け

import * as yup from 'yup';

export const Schema = yup
  .object()
  .shape({
    name: yup.string().lowercase().required(),
    phone: yup.number().default(0).required(),
  })
  .when((values, schema) => {
    if (values.name === 'john') {
      return schema.shape({
        isHungry: yup.boolean().required(),
        food: yup.string().default('Pizza'),
      });
    }
  });
于 2021-06-30T15:07:11.690 に答える