Form Manipulace a Validation dovnitř Next.js

Vytváření formulářů a provádění dat validation jsou základní součástí vývoje webových aplikací. V této části prozkoumáme, jak vytvářet formuláře a provádět data validation ve vaší Next.js aplikaci. Také se ponoříme do populárních form knihoven, jako jsou react-hook-form a Formik pro efektivní správu form stavu a výkonu dat validation.

Použití react-hook-form pro Form manipulaci

react-hook-form je knihovna, která zjednodušuje správu form stavu a vedení dat validation ve vaší Next.js aplikaci. Níže je uveden příklad použití react-hook-form k vytvoření registrace 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;  

Ve výše uvedeném příkladu používáme react-hook-form ke správě form stavu a provádění dat validation. Odešle form se, když uživatel klikne na Register tlačítko, a validation zobrazí se případné chyby.

Použití Formik pro Form manipulaci

Formik je výkonná knihovna pro správu form stavu, dat validation a zpracování interakcí souvisejících s formuláři. Zde je příklad použití Formik ve vaší Next.js aplikaci:

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;  

Ve výše uvedeném příkladu používáme Formik ke správě form stavu a provádění dat validation. Validation chyby se zobrazí jako zprávy, pokud k nim dojde.

Závěr

Tato část vám představila vytváření formulářů a vedení dat validation ve vaší Next.js aplikaci. Naučili jste se používat knihovny react-hook-form a Formik k efektivní správě form stavu a provádění dat validation. To vám pomůže vytvářet interaktivní formuláře, které poskytují lepší uživatelskou zkušenost a odezvu.