gpt4 book ai didi

javascript - 使用 Yup 和 Typescript 的动态验证消息

转载 作者:行者123 更新时间:2023-11-28 03:10:42 29 4
gpt4 key购买 nike

我正在尝试使用 Yup 创建一些自定义错误消息,以确定用户的电子邮件地址是否正在使用。

我创建了以下 promise 来 try catch 服务器通信错误:

.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 方法,该方法在示例中似乎有详细信息,但在此上下文中似乎不存在。

最佳答案

    /* An example of a dynamic error message for Required, depending on other vars */
title: yup.string().nullable().test('test-titleRequired', '', function (value, context) {
if (!value || !value.trim().length) {
if (context.parent.someOtherField === 'Special Value') {
return this.createError({ message: 'Message Version 1' });
} else {
return this.createError({ message: 'Message Version 2' });
}
} else {
return true;
}
}),

重要提示:必须使用function语法(不是箭头=>)

关于javascript - 使用 Yup 和 Typescript 的动态验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60154861/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com