2017-10-18 7 views
0

사용자 암호를 변경하기 위해 시스템에서 페이지를 개발 중입니다. 유효성 검사가 정상적으로 작동하지만 오류 메시지가 없습니다. 여기 Laravel MVC (PHP), 요청 오류 메시지

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

'$ 오류 -> 모든()' '$ errors-> all' 아니. :) – 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 btw를 사용하고 있습니다. 고마워요! –