Сообщения проверки Dynami c с использованием Yup и Typescript - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь создать несколько пользовательских сообщений об ошибках с помощью Yup, чтобы определить, используется ли адрес электронной почты пользователя.

Я создал следующее обещание, чтобы попытаться отловить ошибку связи с сервером:

.test(
{
    name: 'Email Check',
    test: value => {
        if (value.includes("@")) {
            return new Promise<yup.ValidationError>((resolve, reject) => {
                let client = new RegistrationApi();
                client.emailCheck(value,
                    x => x ? resolve(undefined) : resolve(new yup.ValidationError("E-mail address already used", value, "")),
                    () =>resolve(new yup.ValidationError("Failed to contact server", value, "")),
                    undefined);
            });
        }
        else {
            return false;
        }
    }
}),

Возврат ошибок проверки не приводит к отображению сообщения об ошибке. Что я делаю неправильно? Я попытался использовать метод createError, который, как представляется, подробно описан в примерах, но в этом контексте его, похоже, не существует.

1 Ответ

0 голосов
/ 10 февраля 2020

Что касается вашего кода, вы хотите reject ваше обещание, а не resolve его.

в целом; вам нужно вернуть обещание функции проверки вашей схемы yup. Или вы можете написать speci c asyn c test .

...