ホームページ >PHPフレームワーク >Laravel >laravelでのログインエラープロンプトの変更とカスタマイズについて話しましょう

laravelでのログインエラープロンプトの変更とカスタマイズについて話しましょう

PHPz
PHPzオリジナル
2023-04-03 18:06:31818ブラウズ

Laravel は、高品質の Web アプリケーションを迅速に構築するための強力な PHP フレームワークです。ユーザーがシステムにログインすると、Laravel はデフォルトでエラープロンプトを表示し、ユーザーがログインの問題を迅速に解決できるようにします。ただし、エラーメッセージがユーザーにとって明確または正確ではない場合があるため、この記事では、Laravel のデフォルトのログインエラーメッセージを変更する方法と、エラーメッセージをカスタマイズする方法を紹介します。

1. デフォルトのエラーメッセージを変更する

Laravel のユーザー認証システムが検証に失敗すると、システムは通常「これらの資格情報は記録と一致しません」のようなエラー メッセージを自動的に表示します。 。ただし、このデフォルトのエラー メッセージは十分に明確ではなく、ユーザーを混乱させる可能性があります。

デフォルトのエラーメッセージを変更するには、Laravel の「app\Http\Controllers\Auth\LoginController.php」ファイル内のいくつかのメソッドを変更する必要があります。このファイルを開くと、次のメソッドが表示されます。

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')],
]);
}

上記の 3 つのメソッドは、Laravel がデフォルトで提供するログイン検証メソッドです。これらのメソッドを通じて、Laravel のデフォルトのログインエラーメッセージを変更できます。 「sendFailedLoginResponse」メソッドに独自のエラーメッセージを追加できます:

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

上記の例では、Laravel のデフォルトのエラーメッセージを「申し訳ありませんが、ユーザー名またはパスワードが間違っています。」に変更しました。したがって、ユーザーが間違ったユーザー名またはパスワードを使用してログインしようとすると、より説明的なエラー メッセージが表示されます。

2. カスタマイズされたエラー メッセージ

より説明的なエラー メッセージを使用することに加えて、エラー メッセージをカスタマイズすることもできます。 Laravelの検証ルールでカスタムエラーメッセージを使用できます。検証ルールの「メッセージ」メソッドを使用して、独自のエラー メッセージを追加できます。

これは例です。「名前」、「電子メール」、「パスワード」フィールドを含む、新規ユーザー登録用の検証ルールを作成しました:

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

// Create user...
}

このルールでは、 「名前」、「電子メール」、「パスワード」フィールドを確認しました。フィールドの検証に失敗した場合、Laravel のデフォルトのエラーメッセージが表示されます。

エラー メッセージをカスタマイズする必要がある場合は、「messages」メソッドを使用して各フィールドのエラー メッセージをカスタマイズできます。以下に例を示します。

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...
}

上の例では、各フィールドのエラー メッセージをカスタマイズしました。したがって、検証が失敗した場合、システムはカスタム エラー メッセージを含むエラー メッセージを表示します。

概要

この記事では、Laravel のデフォルトのログイン エラー メッセージを変更し、検証ルールのエラー メッセージをカスタマイズする方法を学びました。これらの方法により、より明確で人道的なエラー メッセージをユーザーに提供できるため、ユーザーはログインの問題を迅速に解決できます。同時に、システムをよりインテリジェントで優れたものにし、より使いやすいユーザー インターフェイスを提供することもできます。

以上がlaravelでのログインエラープロンプトの変更とカスタマイズについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。