Formik 是一个流行的 React 表单库,它可以帮助你轻松地管理表单的状态和验证
首先,确保你已经安装了 Formik 和 Yup(一个常用的验证库):
npm install formik yup
接下来,你可以在你的 React 组件中使用 Formik 和 Yup 进行表单验证。以下是一个简单的示例:
import React from 'react';
import { Formik, Form, Field, ErrorMessage } from 'formik';
import * as Yup from 'yup';
const SignupSchema = Yup.object().shape({
username: Yup.string()
.required('用户名是必填项')
.min(3, '用户名至少需要3个字符')
.max(20, '用户名最多需要20个字符'),
email: Yup.string()
.required('邮箱是必填项')
.email('请输入有效的邮箱地址'),
password: Yup.string()
.required('密码是必填项')
.min(6, '密码至少需要6个字符'),
});
const MyForm = () => {
return (
<Formik
initialValues={{ username: 'JohnDoe', email: 'john@example.com', password: 'password123' }}
validationSchema={SignupSchema}
onSubmit={(values) => {
console.log(values);
}}
>
{({ errors, touched }) => (
<Form>
<div>
<label htmlFor="username">用户名</label>
<Field name="username" />
<ErrorMessage name="username" component="div" />
</div>
<div>
<label htmlFor="email">邮箱</label>
<Field name="email" />
<ErrorMessage name="email" component="div" />
</div>
<div>
<label htmlFor="password">密码</label>
<Field name="password" type="password" />
<ErrorMessage name="password" component="div" />
</div>
<button type="submit">提交</button>
</Form>
)}
</Formik>
);
};
export default MyForm;
在这个示例中,我们首先定义了一个 SignupSchema
,它使用 Yup 定义了表单验证规则。然后,我们在 Formik
组件中设置了 initialValues
和 validationSchema
属性。initialValues
属性用于设置表单的初始值,validationSchema
属性用于设置表单的验证规则。
当页面加载时,Formik 会自动使用 initialValues
中的值进行验证,并将验证结果显示在相应的输入框旁边。这样,你就可以在页面加载时验证初始值了。
领取专属 10元无门槛券
手把手带您无忧上云