> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# useErrors

<ParamField body="useErrors(options?: UseErrorOptions)" type={<span><a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseErrorsResult">UseErrorsResult</a></span>}>
  Hook React pour lire et gérer les erreurs dans ACUL (Advanced Customization of Universal Login).
  Il regroupe les erreurs en trois catégories :

  * `auth0` — erreurs renvoyées par Auth0 ou votre propre backend.
  * `validation` — erreurs de validation côté client (p. ex., saisie de formulaire invalide).
  * `configuration` — erreurs causées par une intégration incorrecte ou une mauvaise utilisation du SDK.

  ### Principales fonctionnalités

  * **Gestion unifiée des erreurs** — regroupe les erreurs auth0, validation et configuration dans un seul hook.
  * **Filtrage flexible** — filtrez les erreurs par catégorie, par champ ou par combinaison des deux.
  * **Options de suppression** — supprimez des erreurs individuelles ou effacez-les toutes d’un coup.

  ## Paramètres

  <ParamField body="options" type={<span><a href="/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseErrorOptions">UseErrorOptions</a></span>}>
    Configuration facultative du hook.

    <Expandable title="propriétés">
      <ParamField body="includeDevErrors" type="boolean">
        Lorsque `true`, inclut dans la liste des erreurs des détails propres au développement. La valeur par défaut est `false`.
      </ParamField>
    </Expandable>
  </ParamField>

  ## Renvoie

  [`UseErrorsResult`](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseErrorsResult)

  Un objet [`UseErrorsResult`](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseErrorsResult) contenant :

  * `errors` — la liste complète des erreurs de type [`ErrorsResult`](/docs/fr-ca/libraries/acul/react-sdk/API-Reference/Types/interfaces/ErrorsResult), avec des fonctions utilitaires :
    * `errors.byType(type, filter?)` — filtre par type d’erreur et, au besoin, par champ.
    * `errors.byField(field, filter?)` — filtre par champ et, au besoin, par type.
  * `hasError` — `true` si une erreur est actuellement présente.
  * `dismiss(id)` — supprime une erreur précise par son ID.
  * `dismissAll()` — efface toutes les erreurs suivies.

  ## Écrans pris en charge

  * Le hook `useErrors` est disponible sur tous les écrans ACUL.

  ```tsx Example theme={null}
  import { useErrors } from "@auth0/auth0-acul-react";

  export function SignupForm() {
    const { errors, hasError, dismiss, dismissAll } = useErrors();

    return (
      <div>
        {hasError && (
          <div className="mb-4">
            {errors.byType("auth0").map(err => (
              <div key={err.id} className="text-red-600">
                {err.message}
                <button onClick={() => dismiss(err.id)}>Dismiss</button>
              </div>
            ))}
          </div>
        )}

        <button onClick={dismissAll}>Clear All Errors</button>
      </div>
    );
  }
  ```

  En plus d’afficher des messages, vous pouvez filtrer par champ ou par catégorie :

  ```ts theme={null}
  console.log(errors.byType('validation')); // toutes les erreurs de validation
  console.log(errors.byType('validation', { field: 'username' })); // erreurs de validation pour le champ 'username'
  console.log(errors.byField('username')); // toutes les erreurs pour le champ 'username'
  console.log(errors.byField('username', { type: 'auth0' })); // erreurs auth0 pour le champ 'username'
  ```

  ## Remarques

  * `useErrors` n’est pas limité à un écran — importez-le directement depuis `@auth0/auth0-acul-react`.
  * Appelez `useErrors` au niveau supérieur de votre composant; ne l’appelez pas de façon conditionnelle ni à l’intérieur de gestionnaires d’événements.
  * Utilisez `includeDevErrors: true` pendant le développement pour faire ressortir les erreurs liées à une mauvaise utilisation du SDK; désactivez-le en production.
</ParamField>
