Form Rukovanje i Validation u Next.js

Izrada obrazaca i izvođenje podataka validation ključni su dijelovi razvoja web aplikacija. U ovom odjeljku istražit ćemo kako izraditi obrasce i voditi podatke validation u svojoj Next.js aplikaciji. Također ćemo istražiti popularne form biblioteke kao što react-hook-form su i Formik za učinkovito upravljanje form podacima o stanju i izvedbi validation.

Korištenje react-hook-form za Form rukovanje

react-hook-form je biblioteka koja pojednostavljuje upravljanje form stanjem i vođenje podataka validation u vašoj Next.js aplikaciji. Ispod je primjer kako se koristi react-hook-form za izradu registracije 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;  

U gornjem primjeru koristimo se react-hook-form za upravljanje form podacima o stanju i izvedbi validation. Šalje form se kada korisnik klikne Register gumb, a validation greške se prikazuju ako postoje.

Korištenje Formik za Form rukovanje

Formik je moćna biblioteka za upravljanje form stanjem, podacima validation i rukovanje interakcijama vezanim uz obrazac. Evo primjera kako koristiti Formik u svojoj Next.js aplikaciji:

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;  

U gornjem primjeru koristimo se Formik za upravljanje form podacima o stanju i izvedbi validation. Validation greške se prikazuju kao poruke ako se pojave.

Zaključak

Ovaj odjeljak vas je upoznao s izradom obrazaca i vođenjem podataka validation u vašoj Next.js aplikaciji. Naučili ste kako koristiti biblioteke react-hook-form i Formik za učinkovito upravljanje form podacima o stanju i izvedbi validation. To će vam pomoći u stvaranju interaktivnih obrazaca koji pružaju bolje korisničko iskustvo i brz odziv.