2016-02-08 26 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你介意接受这个答案吗? –