Я пытаюсь создать несколько пользовательских сообщений об ошибках с помощью 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, который, как представляется, подробно описан в примерах, но в этом контексте его, похоже, не существует.