0Pricing
React Academy · Lezione

Regole di validazione e messaggi di errore

Applichi le regole di validazione integrate (required, minLength, pattern) e visualizzi i messaggi di errore.

Regole di validazione e messaggi di errore è una lezione React Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento React Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso React Academy include 4 lezioni in totale.

Benvenuto

In questa lezione aggiungerà regole di validazione integrate ai campi di React Hook Form e mostrerà messaggi di errore chiari sotto ogni input.

Regole di validazione integrate

Passi un oggetto rules come secondo argomento a register(). Le regole integrate includono: `required`, `minLength`, `maxLength`, `min`, `max`, `pattern` e `validate`.
<input
  {...register('email', {
    required: 'Email is required',
    pattern: {
      value: /^[^@]+@[^@]+\.[^@]+$/,
      message: 'Invalid email address',
    },
  })}
/>

Campi obbligatori

Imposti `required` su una stringa per rendere obbligatorio il campo. La stringa diventa il messaggio di errore. Impostandolo su `true` verrà utilizzato un messaggio generico.
register('name', { required: 'Name is required' })
// or
register('name', { required: true })

Vincoli di lunghezza

Utilizzi `minLength` e `maxLength` con un oggetto `{ value, message }` per impostare i limiti dei caratteri e messaggi di errore personalizzati.
register('username', {
  minLength: { value: 3, message: 'At least 3 characters' },
  maxLength: { value: 20, message: 'At most 20 characters' },
})

Validazione con pattern

La regola `pattern` accetta un valore RegExp. La utilizzi per convalidare formati di indirizzi email, numeri di telefono o qualsiasi altro pattern di stringa.
register('phone', {
  pattern: {
    value: /^[0-9]{10,11}$/,
    message: 'Enter a valid phone number',
  },
})

Visualizzazione degli errori

Legga l’oggetto `errors` da formState. Ogni campo che non supera la validazione contiene una voce con una proprietà `message`. La visualizzi condizionalmente sotto l’input.
const { register, handleSubmit, formState: { errors } } = useForm();

<input {...register('email', { required: 'Required' })} />
{errors.email && <p className="error">{errors.email.message}</p>}

Validazione personalizzata con validate

La regola `validate` accetta una funzione che restituisce `true` per un valore valido oppure una stringa di errore per un valore non valido. La utilizzi per la logica di business che le regole integrate non possono esprimere.
register('age', {
  validate: value =>
    parseInt(value) >= 18 || 'You must be at least 18',
})

Più validatori personalizzati

Passi a `validate` un oggetto di validatori denominati per eseguire più controlli personalizzati sullo stesso campo.
register('password', {
  validate: {
    hasUpper: v => /[A-Z]/.test(v) || 'Needs uppercase',
    hasDigit: v => /[0-9]/.test(v) || 'Needs a number',
  }
})

Visualizzazione del numero di errori

Conteggi gli errori totali per abilitare o disabilitare il pulsante di invio oppure mostrare un riepilogo. Utilizzi Object.keys(errors).length.
const hasErrors = Object.keys(errors).length > 0;
<button type="submit" disabled={hasErrors}>Submit</button>

Stile degli input con errori

Applichi una classe CSS agli input che contengono errori per visualizzare un bordo rosso. Controlli errors[fieldName] per applicare condizionalmente la classe.
<input
  {...register('email', { required: true })}
  className={errors.email ? 'input-error' : ''}
/>

Verifica rapida

Come si visualizza in React Hook Form il messaggio di errore di un campo denominato 'email'?

Riepilogo

Aggiunga le regole di validazione come secondo argomento di register(): required, minLength, maxLength, pattern, min, max e validate. Legga errors[fieldName].message da formState per visualizzare i messaggi.

Prossimo

Prossima lezione: **Validazione con schema Zod** — integrerà @hookform/resolvers e gli schemi Zod per una validazione dei moduli sicura dal punto di vista dei tipi.

Domande Frequenti

La lezione «Regole di validazione e messaggi di errore» è gratuita?

Sì — il testo completo di «Regole di validazione e messaggi di errore» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso React Academy, passa a CoddyKit PRO. Il corso React Academy include 4 lezioni in totale.

Cosa imparerò in «Regole di validazione e messaggi di errore»?

Applichi le regole di validazione integrate (required, minLength, pattern) e visualizzi i messaggi di errore. Eserciti React Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare React Academy?

Non è richiesta alcuna esperienza precedente. React Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Regole di validazione e messaggi di errore»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione React Academy?

Sì. Ogni lezione React Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione a React Hook Form
  2. Regole di validazione e messaggi di errore
  3. Validazione degli schemi con Zod
  4. Campi dinamici con useFieldArray
← Torna a React Academy