reactjs - 为什么我的 Formik 表单没有显示警告信息?反应,福米克
问题描述
我正在尝试使用 Formik 完成一些基本的前端表单验证。我已经验证了用户,但错误消息没有显示在我的前端。
如果我的表单不符合我的验证模式,我希望显示一条错误消息。
我的验证模式:
import * as yup from 'yup';
export const userSignUpSchema = yup.object().shape({
name: yup
.string()
.min(4, "Too short")
.max(20, "Too long")
.required("Required"),
email: yup
.string()
.email("Invalid email")
.required("Required"),
password: yup
.string()
.min(4, "Too short")
.max(20, "Too long")
.required("Required"),
confirmPassword: yup
.string()
.min(4, "Too short")
.max(20, "Too long")
.required("Required")
});
我的注册组件
<Formik
initialValues={{
name: '',
email: '',
password: ''
}}
validationSchema={userSignUpSchema}
onSubmit={createUser}
>
<Form className="form">
<label>Display Name</label>
<Field name="name" type="text" onChange={
(e) => {setUsernameReg(e.target.value);
}} />
<ErrorMessage
name="name"
component="div"
className="invalid-feedback"
/>
<label>Email Address</label>
<Field name="email" type="email" onChange={
(e) => {setEmailReg(e.target.value);
}} />
<ErrorMessage
name="email"
component="div"
className="invalid-feedback"
/>
<label>Password</label>
<Field name="password" type="password" onChange={
(e) => {setUsernameReg(e.target.value);
}}/>
<ErrorMessage
name="password"
component="div"
className="invalid-feedback"
/>
<button type="submit">Submit</button>
</Form>
</Formik>
解决方案
推荐阅读
- java - 在 SpringRunner 中创建环境 bean 失败
- google-cloud-storage - 使用 TextIO.write 到 Google Cloud Storage 时如何设置文件类型
- nativescript-vue - 用户设置警报后如何强制打开特定活动?
- javascript - 使用 AJAX 只提交一个表单
- python - 使用python可迭代错误的神经风格转移?
- amazon-web-services - 以编程方式跨不同帐户访问 cloudwatch
- c# - 无法更改 Xamarin Forms v4.1 中的工具栏图标
- java - 如何制作这个菜单
- java - 从线程调用 repaint()
- c# - C# AES-GCM 分成几部分