我所做的很基本。在重定向之前我可以看到我的验证错误,所以我认为我已经覆盖了会话(我不这样做)或从视图中删除某些东西,这也是没有意义的,因为验证器适用于我的\ Auth \ register但没有其他行动。Laravel验证器在重定向后不显示消息?
这是我有:
在\软件\ \控制器QuestionsController
QuestionsController extends Controller{
protected$rules=[
'question'=>array(
'text'=>'required|max:2000',
'categories'=>'required|min:4'
)
];
public function create(Request $request){
$valid=Validator::make($request->all(),$this->rules['question']);
if($valid->fails()){
var_dump($valid->messages());//exit;
return redirect('/questions')->withErrors($valid,'questions');
}
//...additional adding scripts etc...
}
现在,这是重定向我可以看到我的消息之前!
现在你会觉得我傻,而不是使用名称的袋子或东西,但即使我删除名称袋我没有看到消息:•
在我question.add鉴于
@import('defaults.errors',['sub'=>'questions'])
{{var_dump(count($errors))}}
{{var_dump($errors->questions)}}
在defaults.errors
@if(isset($sub))
@if(count($errors->$sub)>0)
<div class="alert alert-danger">
<ul class='nav'>
@foreach($errors->$sub->all() as $error)
<li><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> {{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@else
@if(count($errors)>0)
<div class="alert alert-danger">
<ul class='nav'>
@foreach($errors->all() as $error)
<li><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> {{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@endif
我想,也许是因为我不明白Laravel那么好,也许我已经“覆盖”事做在我的控制器的$错误或会话?
这是我的控制器看起来像
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesResources;
use Auth;
use App\conversation;
use App\notifications;
use App\relationships;
use App\Helpers\DatetimeHelper;
use Azza\Utilities\NumberSuffix;
class Controller extends BaseController
{
public $user;
public $title=array('title');
public $titleSeperator=' - ';
public $keywords=array('hello','I added');
public $messageCount=0;
public$notifications=null;
public$notificationsCount=0;
public$friendRequests=0;
public$bodyClass=array();
use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
public function __construct(){
$this->user=Auth::user();
if($this->user){
$this->messageCount=conversation::getByUserId($this->user->id)->countUnseen()->count();
//$this->notifications=notifications::getByUserId($this->user->id)->get()->paginate(5);
$this->notificationsCount=notifications::getByUserId($this->user->id)->countUnseen()->count();
//var_dump($this->messageCount->count());exit;
$this->friendRequests=relationships::countRequests($this->user->id)->count();
}
view()->composer('*',function($view){
$view->with('currentUser',$this->user);
$view->with('title',$this->title);
$view->with('titleSeperator',$this->titleSeperator);
$view->with('keywords',$this->keywords);
$view->with('messageCount',$this->messageCount);
$view->with('notificationsCount',$this->notificationsCount);
$view->with('friendRequests',$this->friendRequests);
$view->with('DatetimeHelper',new DatetimeHelper());
$view->with('NumberSuffix',new NumberSuffix());
$view->with('bodyClass',implode(' ',$this->bodyClass));
});
}
public function setDefaultVals($name,$val){
view()->composer('*',function($view) use($name,$val){
$view->with($name,$val);
});
}
}
这样做是为了刚刚腾出时间操控着我的头信息,并使用动态数组数据的基本思想。我知道这看起来很混乱,可能不是最好的方式,但我现在只是在搞laravel。
在交换机-A-Roo的你可以从你的行的'questions.add'视图中看到任何东西:'{{var_dump($ errors-> questions)}}' – jakehallas