2017-10-18 5 views
0

Ich entwickle eine Seite auf meinem System, um das Benutzerpasswort zu ändern, und die Validierung funktioniert gut, aber ich habe keine Fehlermeldungen erhalten.Laravel MVC (PHP), Fehlermeldungen anfordern

(Ich bin nicht der uses/Importe zeigt, aber es ist in Ordnung)

Hier ist meine Anfrage:

class SenhaRequest extends FormRequest 
{ 
    public function authorize() 
    { 
     return true; 
    } 

    public function rules() 
    { 
     return [ 
      'senha_antiga' => 'required|min:6|max:24', 
      'nova_senha' => 'required|min:6|max:24|same:nova_senha_r', 
      'nova_senha_r' => 'required|min:6|max:24|same:nova_senha' 
     ]; 
    } 

    public function messages() { 
     return [ 
      'same' => 'A :attribute e a :other devem ser iguais.', 
      'required' => 'O campo :attribute é obrigatório!', 
     ]; 
    } 
} 

Hier ist mein Controller:

class MudarSenhaController extends Controller { 

    public function index() { 
     return view('account/senha'); 
    } 

    public function update(SenhaRequest $request) { 
     $user = Auth::user(); 

     $user->password = bcrypt($request->input('nova_senha')); 

     $user->save(); 

     return redirect()->action('Account\[email protected]'); 
    } 
} 

Und auf meiner Ansicht Ich habe:

@if(!empty($errors->all())) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach($errors->all as $error) 
      <li>{{$error}}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 

Das div mit Alert erscheint, wenn ein Teil der Validierung fehlschlägt, aber ich habe keine Nachrichten erhalten. Ich bin neu in Laravel und OO PHP, entschuldige mich für alles.

+4

'$ errors-> alle()' nicht '$ fehler-> alle' :) – Jeemusu

Antwort

1

Der richtige Code (wie @Jeemusu gesagt) sollte wie folgt sein:

(Laravel 5.3 documentation)

@if (count($errors) > 0) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach ($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 

(Laravel 5.4 and 5.5 documentation)

@if ($errors->any()) 
    <div class="alert alert-danger"> 
     <ul> 
      @foreach ($errors->all() as $error) 
       <li>{{ $error }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 
+0

Jetzt funktioniert es ... ich benutze 5,5 BTW, danke! –

Verwandte Themen