Maison >cadre php >Laravel >Parlons de la modification et de la personnalisation des invites d'erreur de connexion dans Laravel

Parlons de la modification et de la personnalisation des invites d'erreur de connexion dans Laravel

PHPz
PHPzoriginal
2023-04-03 18:06:31786parcourir

Laravel est un framework PHP puissant permettant de créer rapidement des applications Web de haute qualité. Lorsque les utilisateurs se connectent au système, Laravel fournit par défaut des invites d'erreur pour aider les utilisateurs à résoudre rapidement les problèmes de connexion. Cependant, il arrive parfois que le message d'erreur ne soit pas suffisamment clair ou précis pour les utilisateurs. Cet article explique comment modifier le message d'erreur de connexion par défaut de Laravel et comment personnaliser le message d'erreur.

1. Modifiez le message d'erreur par défaut

Lorsque le système d'authentification des utilisateurs de Laravel ne parvient pas à vérifier, le système affiche automatiquement un message d'erreur, généralement un message similaire à "Ces informations d'identification ne correspondent pas à nos enregistrements." Cependant, ce message d'erreur par défaut n'est pas assez clair et peut dérouter les utilisateurs.

Afin de changer le message d'erreur par défaut, nous devons modifier plusieurs méthodes dans le fichier "appHttpControllersAuthLoginController.php" de Laravel. Ouvrez ce fichier et nous verrons les méthodes suivantes :

public function username()
{
return 'email';
}
protected function credentials(Request $request)
{
return $request->only($this->username(), 'password');
}
protected function sendFailedLoginResponse(Request $request)
{
throw ValidationException::withMessages([
    $this->username() => [trans('auth.failed')],
]);
}

Les trois méthodes ci-dessus sont les méthodes de vérification de connexion fournies par Laravel par défaut. Nous pouvons modifier le message d'erreur de connexion par défaut de Laravel grâce à ces méthodes. Nous pouvons ajouter notre propre message d'erreur dans la méthode « sendFailedLoginResponse » :

protected function sendFailedLoginResponse(Request $request)
{
throw ValidationException::withMessages([
    $this->username() => [trans('auth.failed') => '对不起,您的用户名或密码不正确'],
]);
}

Dans l'exemple ci-dessus, nous avons modifié le message d'erreur par défaut de Laravel en "Désolé, votre nom d'utilisateur ou votre mot de passe est incorrect." Par conséquent, lorsqu'un utilisateur tente de se connecter avec un nom d'utilisateur ou un mot de passe incorrect, un message d'erreur plus descriptif s'affichera.

2. Personnaliser le message d'erreur

En plus d'utiliser un message d'erreur plus descriptif, nous pouvons également personnaliser le message d'erreur. Nous pouvons utiliser des messages d'erreur personnalisés dans les règles de validation de Laravel. Nous pouvons ajouter nos propres messages d'erreur en utilisant la méthode "messages" dans nos règles de validation.

Voici un exemple, nous avons créé une règle de vérification lors de l'inscription d'un nouvel utilisateur, qui contient les champs "nom", "email" et "mot de passe":

public function store(Request $request)
{
$validatedData = $request->validate([
    'name' => 'required',
    'email' => 'required|email|unique:users',
    'password' => 'required|min:8',
]);

// Create user...
}

Dans cette règle, nous vérifions "nom", "email" et les champs "mot de passe". Si un champ échoue à la validation, le message d'erreur par défaut de Laravel sera affiché.

Si nous devons personnaliser le message d'erreur, nous pouvons utiliser la méthode "messages" pour personnaliser le message d'erreur pour chaque champ. Voici un exemple :

public function store(Request $request)
{
$validatedData = $request->validate([
    'name' => 'required',
    'email' => 'required|email|unique:users',
    'password' => 'required|min:8',
], [
    'name.required' => '请输入您的姓名。',
    'email.required' => '请输入您的电子邮件地址。',
    'email.email' => '无效的电子邮件地址。',
    'email.unique' => '电子邮件地址已经存在。',
    'password.required' => '请输入您的密码。',
    'password.min' => '密码必须至少为8个字符。',
]);

// Create user...
}

Dans l'exemple ci-dessus, nous avons personnalisé le message d'erreur pour chaque champ. Ainsi, si la validation échoue, le système affichera un message d'erreur avec un message d'erreur personnalisé.

Résumé

Dans cet article, nous avons appris comment modifier le message d'erreur de connexion par défaut de Laravel et personnaliser le message d'erreur pour les règles de validation. Grâce à ces méthodes, nous pouvons fournir aux utilisateurs des messages d'erreur plus clairs et plus humains afin que les utilisateurs puissent résoudre rapidement les problèmes de connexion. Dans le même temps, nous pouvons également rendre le système plus intelligent et plus performant, et fournir une interface utilisateur plus conviviale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn