2016-02-08 23 views
0

處理在登錄系統我創建在Laravel(版本5.2),該註冊請求被傳遞到RegistrationRequest類,它包含驗證邏輯是這樣的:錯誤從外部請求類

public function rules() { 
    return [ 
     "username" => "required|min:3|unique:users", 
     "password" => "required|min:6|confirmed", 
     "email" => "required|confirmed|email|unique:users", 
    ]; 
} 

然後將其傳遞到postRegistration功能:

public function postRegistration(RegistrationRequest $request) { 
    $this->user->username = $request->input('username'); 
    $this->user->mail = $request->input('email'); 
    $this->user->password = password_hash($request->input('password'), PASSWORD_DEFAULT); 
    $this->user->save(); 

    $this->auth->login($this->user); 
    return redirect('/dashboard'); 
} 

所有種類的基本的東西,現在我的問題是,我不知道如何來顯示一個錯誤,當我的用戶名是例如長2個字符。

我知道,通常情況下,我會做

return redirect('/registration)->withInput()->withErrors(["errorHere" => "value"]);

但由於驗證規則都是外在的,我不知道如何將這些信息傳遞給一個視圖。

我搜索了一些論壇和文檔,但我找不到任何明確的內容。

有沒有辦法顯示這些錯誤,最好用withInput()方法?

謝謝。

回答

0

所以問這個後正好一分鐘後,一個朋友傳遞消息我,告訴我,我可以做到以下幾點:

@if (count($errors)) 
    <ul> 
     @foreach($errors->all() as $error) 
      <li>{ { $error } }</li> 
     @endforeach 
    </ul> 
@endif 
2

你可以從文檔從laravel看到:

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

編輯:沒有注意到作者自己回答這個問題,直到我刷新頁面。

+0

@WesleyPeeters你介意接受這個答案嗎? –