2017-10-18 69 views
0

我在我的系統上開發一個頁面來更改用戶密碼,驗證工作正常,但我沒有收到任何錯誤消息。Laravel MVC(PHP),Request error message

(我沒有展示用途/進口,但它是罰款)

這裏是我的要求:

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

這裏是我的控制器:

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

而就我的看法我有:

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

當某些驗證失敗時,會顯示帶有警報的div,但我沒有任何消息。我是laravel和OO php的新手,對任何事都抱歉。

+4

'$錯誤 - >所有()'不''錯誤 - >所有':) – Jeemusu

回答

1

正確的代碼(如@Jeemusu說)應該是這樣的:

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

現在它的工作...我使用5.5順便說一句,謝謝! –