0Pricing
React Academy · Lektion

Validierungsregeln und Fehlermeldungen

Wenden Sie integrierte Validierungsregeln (required, minLength, pattern) an und zeigen Sie Fehlermeldungen an.

Validierungsregeln und Fehlermeldungen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion fügen Sie React-Hook-Formularfeldern integrierte Validierungsregeln hinzu und zeigen unter jedem Eingabefeld verständliche Fehlermeldungen an.

Integrierte Validierungsregeln

Übergeben Sie ein Regelobjekt als zweites Argument an register(). Zu den integrierten Regeln gehören: `required`, `minLength`, `maxLength`, `min`, `max`, `pattern` und `validate`.
<input
  {...register('email', {
    required: 'Email is required',
    pattern: {
      value: /^[^@]+@[^@]+\.[^@]+$/,
      message: 'Invalid email address',
    },
  })}
/>

Pflichtfelder

Setzen Sie `required` auf eine Zeichenfolge, um das Feld als Pflichtfeld festzulegen. Die Zeichenfolge wird zur Fehlermeldung. Bei `true` wird eine allgemeine Meldung verwendet.
register('name', { required: 'Name is required' })
// or
register('name', { required: true })

Längenbeschränkungen

Verwenden Sie `minLength` und `maxLength` mit einem `{ value, message }`-Objekt, um Zeichenlimits und benutzerdefinierte Fehlermeldungen festzulegen.
register('username', {
  minLength: { value: 3, message: 'At least 3 characters' },
  maxLength: { value: 20, message: 'At most 20 characters' },
})

Muster-Validierung

Die Regel `pattern` akzeptiert einen RegExp-Wert. Verwenden Sie sie, um E-Mail-Formate, Telefonnummern oder beliebige Zeichenfolgenmuster zu validieren.
register('phone', {
  pattern: {
    value: /^[0-9]{10,11}$/,
    message: 'Enter a valid phone number',
  },
})

Fehler anzeigen

Lesen Sie das Objekt `errors` aus formState aus. Jedes Feld, dessen Validierung fehlgeschlagen ist, enthält einen Eintrag mit einer Eigenschaft `message`. Rendern Sie diese bedingt unter dem Eingabefeld.
const { register, handleSubmit, formState: { errors } } = useForm();

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

Benutzerdefinierte Validierung mit validate

Die Regel `validate` akzeptiert eine Funktion, die bei einem gültigen Wert `true` und bei einem ungültigen Wert eine Fehlerzeichenfolge zurückgibt. Verwenden Sie sie für Geschäftslogik, die sich mit den integrierten Regeln nicht ausdrücken lässt.
register('age', {
  validate: value =>
    parseInt(value) >= 18 || 'You must be at least 18',
})

Mehrere benutzerdefinierte Validatoren

Übergeben Sie `validate` ein Objekt benannter Validatoren, um mehrere benutzerdefinierte Prüfungen für dasselbe Feld auszuführen.
register('password', {
  validate: {
    hasUpper: v => /[A-Z]/.test(v) || 'Needs uppercase',
    hasDigit: v => /[0-9]/.test(v) || 'Needs a number',
  }
})

Anzahl der Fehler anzeigen

Zählen Sie die Gesamtzahl der Fehler, um die Übermittlungsschaltfläche zu aktivieren oder zu deaktivieren oder eine Zusammenfassung anzuzeigen. Verwenden Sie Object.keys(errors).length.
const hasErrors = Object.keys(errors).length > 0;
<button type="submit" disabled={hasErrors}>Submit</button>

Fehlerhafte Eingaben formatieren

Wenden Sie auf Eingabefelder mit Fehlern eine CSS-Klasse an, um einen sichtbaren roten Rahmen anzuzeigen. Prüfen Sie errors[fieldName], um die Klasse bedingt anzuwenden.
<input
  {...register('email', { required: true })}
  className={errors.email ? 'input-error' : ''}
/>

Kurztest

Wie zeigen Sie in React Hook Form die Fehlermeldung für ein Feld namens 'email' an?

Zusammenfassung

Fügen Sie Validierungsregeln als zweites Argument zu register() hinzu: required, minLength, maxLength, pattern, min, max und validate. Lesen Sie errors[fieldName].message aus formState aus, um Meldungen anzuzeigen.

Als Nächstes

Nächste Lektion: **Schema-Validierung mit Zod** — Sie integrieren @hookform/resolvers und Zod-Schemas für typsichere Formularvalidierung.

Häufig gestellte Fragen

Ist die Lektion „Validierungsregeln und Fehlermeldungen“ kostenlos?

Ja — der vollständige Text von „Validierungsregeln und Fehlermeldungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Validierungsregeln und Fehlermeldungen“?

Wenden Sie integrierte Validierungsregeln (required, minLength, pattern) an und zeigen Sie Fehlermeldungen an. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Validierungsregeln und Fehlermeldungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Erste Schritte mit React Hook Form
  2. Validierungsregeln und Fehlermeldungen
  3. Schema-Validierung mit Zod
  4. Dynamische Felder mit useFieldArray
← Zurück zu React Academy