TypeScript Yup |Ожидается 0 аргументов, но получено 1.ts (2554) - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь создать свои ValidationSchemas, используя TS, React, чтобы использовать их в форме Formik.

У меня есть несколько схем проверки, которым я должен соответствовать в своем модуле, поэтому я подумал о создании перечисления, чтобы их можно было легко использовать повторно.

В файле TS:

import * as Yup from "yup";

export const ValidationSchema {
  AddUserSchema = Yup.object().shape({
    username: Yup.string('Provide a username').required('Username is required'),
    email: Yup.string().email('Provide a valid email address'),
    password: Yup.string('Provide a password').required('Password is required'),
    confirmPassword: Yup.string('Provide your password again')
      .required('Password confirmation is required')
      .oneOf([Yup.ref('password')], 'Passwords do not match'),
    group: Yup.string('Please select a group').required('Group is required')
  }),
  EditUserSchema = Yup.object().shape({
    username: Yup.string('Provide a username').required('Username is required'),
    email: Yup.string().email('Provide a valid email address'),
    group: Yup.string('Please select a group').required('Group is required')
  }),
  EditPasswordSchema = Yup.object().shape({
    password: Yup.string('Provide a password').required('Password is required'),
    confirmPassword: Yup.string('Provide your password again')
      .required('Password confirmation is required')
      .oneOf([Yup.ref('password')], 'Passwords do not match'),
  }),
}

Но я получаю ошибки в каждой Yup.String, которые говорят:

Expected 0 arguments, but got 1.ts(2554)
const string: Yup.StringSchemaConstructor
() => Yup.StringSchema

Я пытаюсь найти ссылку на типы Yup, но безуспешно. В чем здесь проблема. Мне нужно передать аргумент Yup, и он говорит, что ожидается 0. Это не имеет смысла для меня. Спасибо за ваше время!

1 Ответ

0 голосов
/ 11 апреля 2019

Глядя на ваше сообщение об ошибке и типы для yup здесь , кажется, что проблема заключается в том, что вы делаете такие звонки: Yup.string('Please select a group'). Кажется, интерфейс StringSchemaConstructor не определяет свойство, которое принимает string.

...