ログイン/登録に失敗したときに表示されるエラーメッセージ("These credentials do not match our records."
など)をファンデーションファイルに触れることなくカスタマイズするにはどうすればよいですか?私は、少なくとも接触していない、ソリューションとうまくいけば、エレガントなものを探していますAuthenticatesAndRegistersUsers
もThrottlesLogins
:)Laravel 5.2 - 認証:カスタムエラーメッセージを表示
私が実行した後にLaravelにより提供さAuthController
とフォームを使用しています:
PHPの職人メイク:認証
コントローラー:
(それが唯一のコンストラクタと2つのメソッドがあり、残りはフンに落ちます[キャンセル料、方法は:)
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
あるフォーム:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
{!! csrf_field() !!}
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<label class="col-md-4 control-label">E-Mail</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
<label class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input type="password" class="form-control" name="password" required>
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<div class="checkbox">
<label>
<input type="checkbox" name="remember"> Remember Me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
<i class="fa fa-btn fa-sign-in"></i>Login
</button>
<a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a>
</div>
</div>
ありがとうございます!
回答ありがとう@lagbox!他のすべてのエラーメッセージはどうでしょうか?「名前フィールドは必須です」または「パスワードの確認が一致しません」。ユーザー登録フォームには? –
これらは検証メッセージです。認証コントローラは、独自のメッセージ配列をvalidate呼び出しに渡すか、またはpullするlangファイル内のメッセージをグローバルに更新するように調整できます。 – lagbox
受け入れられ、upvoted、ありがとう、よろしく! –