在Laravel驗證失敗時,請求將被重定向到驗證爲$errros
的視圖。我需要在控制器中訪問此消息。訪問它們的正確方法是什麼?我的用戶Request
類的驗證,所以我不能用:可作爲$validator->messages()
如何在發送視圖之前訪問驗證錯誤消息?
$validator = Validator::make(...);
$messages = $validator->messages();
在Laravel驗證失敗時,請求將被重定向到驗證爲$errros
的視圖。我需要在控制器中訪問此消息。訪問它們的正確方法是什麼?我的用戶Request
類的驗證,所以我不能用:可作爲$validator->messages()
如何在發送視圖之前訪問驗證錯誤消息?
$validator = Validator::make(...);
$messages = $validator->messages();
你使用重定向時withErrors
假設,你可以直接從會議上得到自己的錯誤信息包:
$errors = session('errors');
一旦您收到錯誤消息包,可以使用$errors->getMessages()
獲取消息,或者獲取平面數組$errors->all()
。
如果你想發送回在頁面上看到消息,然後重定向發送回:
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
Session::put('failure_message', 'Failure!');
return Redirect::to('whateverpage')->withErrors($validator)->withInput(Input::all());
,如果你想看到生成什麼樣的信息,首先創建一些消息鍵關機的:
$messages = array(
'same' => 'Your passwords don\'t match.',
'required' => 'The field ":attribute" is required',
'alpha' => 'The field ":attribute" can only contain letters',
'min' => 'The field ":attribute" must be ":min" characters or greater.',
);
$validator = Validator::make(Input::all(), $rules, $messages);
$messages = $validator->messages();
謝謝,使用它,我可以通過'session('errors') - > getBags()['default'] - > toArray()'來達到錯誤數組。我想應該有更好的辦法。不是嗎? – PHPst
我只需要一個表單驗證錯誤的數組。 – PHPst
@PHPst - 如果你想要一個平面數組:'session('errors') - > all()'。如果你想要這些消息的原始格式:session('errors') - > getMessages()' –