Создание форм и выполнение данных validation являются важными частями разработки веб-приложений. В этом разделе мы рассмотрим, как создавать формы и хранить данные validation в вашем Next.js приложении. Мы также углубимся в популярные form библиотеки, такие как react-hook-form
и Formik
для эффективного управления form состоянием и выполнением данных validation.
Использование react-hook-form
для Form обработки
react-hook-form
— это библиотека, которая упрощает управление form состоянием и передачу данных validation в вашем Next.js приложении. Ниже приведен пример того, как использовать react-hook-form
для создания регистрации form:
import { useForm } from 'react-hook-form';
function RegistrationForm() {
const { register, handleSubmit, errors } = useForm();
const onSubmit =(data) => {
console.log(data);
};
return(
<form onSubmit={handleSubmit(onSubmit)}>
<input
type="text"
name="username"
placeholder="Username"
ref={register({ required: true, minLength: 5 })}
/>
{errors.username && <p>Username is required and must be at least 5 characters long</p>}
<input
type="email"
name="email"
placeholder="Email"
ref={register({ required: true, pattern: /^\S+@\S+$/i })}
/>
{errors.email && <p>Valid email is required</p>}
<button type="submit">Register</button>
</form>
);
}
export default RegistrationForm;
В приведенном выше примере мы используем react-hook-form
для управления form состоянием и выполнения данных validation. Сообщение form отправляется, когда пользователь нажимает Register
кнопку, и validation отображаются ошибки, если таковые имеются.
Использование Formik
для Form обработки
Formik
— мощная библиотека для управления form состоянием, данными validation и обработки взаимодействий, связанных с формами. Вот пример использования Formik
в вашем Next.js приложении:
import { Formik, Form, Field, ErrorMessage } from 'formik';
function ContactForm() {
const initialValues = {
name: '',
email: '',
};
const validate =(values) => {
const errors = {};
if(!values.name) {
errors.name = 'Name is required';
}
if(!values.email) {
errors.email = 'Email is required';
}
return errors;
};
const onSubmit =(values) => {
console.log(values);
};
return(
<Formik initialValues={initialValues} validate={validate} onSubmit={onSubmit}>
<Form>
<div>
<Field type="text" name="name" placeholder="Name" />
<ErrorMessage name="name" component="div" />
</div>
<div>
<Field type="email" name="email" placeholder="Email" />
<ErrorMessage name="email" component="div" />
</div>
<button type="submit">Submit</button>
</Form>
</Formik>
);
}
export default ContactForm;
В приведенном выше примере мы используем Formik
для управления form состоянием и выполнения данных validation. Validation ошибки отображаются в виде сообщений, если они происходят.
Заключение
В этом разделе вы познакомились с созданием форм и использованием данных validation в вашем Next.js приложении. Вы узнали, как использовать библиотеки react-hook-form
и Formik
для эффективного управления form состоянием и обработки данных validation. Это поможет вам создавать интерактивные формы, которые обеспечивают лучший пользовательский опыт и скорость реагирования.