所以我有一个服务器操作函数,如下所示:
export const sendResetEmail = async (values: FieldValues) => {
const user = await prismadb.user.findUnique({
where: {
email: values?.email,
},
});
if (!user) {
throw new Error("This email is not registered");
}
现在,我想在前端访问该错误消息,以便可以使用setError函数将其链接到react hook表单的输入字段,如下所示:
const formSubmit: SubmitHandler<FieldValues> = async (values) => {
setIsLoading(true);
try {
await sendResetEmail(values);
} catch (error) {
setError("email", {
type: "manual",
message: error as string,
});
} finally {
setIsLoading(false);
reset();
}
};
但它不起作用。如果我使用API路由,我可以简单地这样做:
return new NextResponse(
JSON.stringify({ message: "This email is not registered" }),
{ status: 400, headers: { "Content-Type": "application/json" } }
);
但由于它是一个服务器操作,我不能返回NextResponse。我能在这里做什么?
1条答案
按热度按时间3npbholx1#
也许你可以尝试返回promise rejection。
return Promise.reject("your error message")