Form Manuseio e Validation em Next.js

Construir formulários e executar dados validation são partes essenciais do desenvolvimento de aplicações web. Nesta seção, exploraremos como construir formulários e conduzir dados validation em seu Next.js aplicativo. Também nos aprofundaremos em form bibliotecas populares como react-hook-form e Formik para gerenciar com eficiência form o estado e o desempenho dos dados validation.

Usando react-hook-form para Form manuseio

react-hook-form é uma biblioteca que simplifica o gerenciamento de form estado e a condução de dados validation em seu Next.js aplicativo. Abaixo segue um exemplo de como usar react-hook-form para construir um cadastro 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;  

No exemplo acima, usamos react-hook-form para gerenciar form dados de estado e desempenho validation. O form é enviado quando o usuário clica no Register botão e validation os erros são exibidos, se houver.

Usando Formik para Form manuseio

Formik é uma biblioteca poderosa para gerenciar form estado, dados validation e lidar com interações relacionadas a formulários. Aqui está um exemplo de como usar Formik em sua Next.js aplicação:

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;  

No exemplo acima, usamos Formik para gerenciar form dados de estado e desempenho validation. Validation erros são exibidos como mensagens se ocorrerem.

Conclusão

Esta seção apresentou a construção de formulários e a condução de dados validation em seu Next.js aplicativo. Você aprendeu como usar as bibliotecas react-hook-form e Formik para gerenciar form dados de estado e desempenho com eficiência validation. Isso o ajudará a criar formulários interativos que proporcionam uma melhor experiência e capacidade de resposta ao usuário.