Reactjs 使用Formik和Yup键入时验证用户名是否已存在
我的公司有一项任务,我必须显示用户名是否被使用,我正在使用formik和yup验证进行检查,因此目前我在yup验证中添加了一个自定义测试功能,在点击提交按钮时显示用户名是否被使用,我最初的任务是在用户输入用户名时动态显示错误消息,它应该告诉用户是否使用了用户名。 我知道我可能必须操纵formik的默认handleChange,但我不能这么做。 非常感谢您的帮助Reactjs 使用Formik和Yup键入时验证用户名是否已存在,reactjs,forms,formik,yup,Reactjs,Forms,Formik,Yup,我的公司有一项任务,我必须显示用户名是否被使用,我正在使用formik和yup验证进行检查,因此目前我在yup验证中添加了一个自定义测试功能,在点击提交按钮时显示用户名是否被使用,我最初的任务是在用户输入用户名时动态显示错误消息,它应该告诉用户是否使用了用户名。 我知道我可能必须操纵formik的默认handleChange,但我不能这么做。 非常感谢您的帮助 validationSchema: Yup.object({ name: Yup.string
validationSchema: Yup.object({
name: Yup.string()
.min(2, "Mininum 2 characters")
.max(30, "Maximum 30 characters")
.required("Your name is required"),
email: Yup.string()
.email("Invalid email format")
.test("email", "This email has already been registered", function (email) {
return checkAvailabilityEmail(email);
})
.required("Your email is required"),
username: Yup.string()
.min(1, "Mininum 1 characters")
.max(15, "Maximum 15 characters")
.test("username", "This username has already been taken", function (username) {
return checkAvailabilityUsername(username);
})
.required("You must enter a username"),
你解决了吗?因为我也有同样的问题没有人,我的公司用了其他的方法,所以这个问题还没有解决不幸的是我通过检查api响应代码使它工作,所以如果它给电子邮件已经存在一个特定的响应代码,那么我会照此处理感谢找到了一个解决方案,我也会尝试从我这边检查它。