2016-02-29 76 views
1

重定向在參照this stockoverflow questionLaravel 5.2驗證與舊輸入

我創建了一個新的請求與php artisan make:request ApplicationFormRequest

public function rules() { 
    return ['first_name' => 'required'] 
} 

我也有一個控制器,例如,

public function store(ApplicationFormRequest $request){ 
    //empty 
} 

我看到一個關於計算器的例子

return Redirect::to('/')->withInput(); 

他們似乎把他們的驗證與控制器一起,但我不知道如何去這樣做。

我會在哪裏放?即使驗證失敗,我如何檢索舊輸入?

編輯你看到我的控制器是空的,它會自動使用我在ApplicationFormRequest中設置的規則進行驗證。當它失敗了,它會自動重定向到該輸入是錯誤

@foreach ($errors->all() as $error) 
    <li class="alert label">{{$error}}</li> 
@endforeach 

提交的看法,但我無法填補剛剛提交,我嘗試做

<input type="text" value="{{ old('first_name') }}" \> 

輸入的用戶的輸入,但這給我錯誤Use of undefined constant

+1

你的問題很模糊。重定向示例是什麼意思?你是什​​麼意思「把他們的驗證與控制器一起?」 – d1str0

+0

我試圖在我的問題中澄清它,請看看,讓我知道如果有什麼不清楚的。 – aahhaa

+0

檢查值是否存在。我不知道它是如何在Laravel中完成的,但它應該看起來像這樣:'if(old('first_name')!=「」){echo old('first_name');} else {}' – user3284463

回答

0

作爲錯誤說使用未定義的常量。您的錯誤變量不在視圖範圍內。檢查你做錯了什麼。

使用Docs作進一步閱讀。

+2

這是一個答案? –

+0

我認爲我做錯了沒有通過舊的輸入回來,但由於該應用程序自動執行它,我不知道在哪裏傳遞它。 – aahhaa

+0

使用此... –

0

您可以通過首先檢查POST或GET數組中是否有可用值來執行此操作。如果它在POST或GET數組中可用,則在輸入的value屬性中回顯它。

你輸入字段將是這個樣子:

<input type="text" name="first_name" value="if (Input::has('first_name')){ @echo Input::get('first_name');}" \> 
1

在Laravel 5.2,如果視圖的形式不被從一個自定義Request類送回舊數據填充,請執行下列操作:

1)將與所述路線相關組中的請求的所有路由,其應包括在5.2

Route::group(['middleware' => ['web']], function() { 
    // routes here 
}); 

2)運行php artisan key:generate


編輯:此修復程序可能不適用於超過520其他版本。

現金

Laravel - Session store not set on request

No supported encrypter found. The cipher and/or key length are invalid.

Another relevant post