我正在使用Laravel 5.3。我的第一個Laravel項目/學習經驗 在我的刀片文件中,我使用以下片段在PUT或POST請求之後的字段下顯示錯誤。
在這種情況下,數據庫字段稱爲的firstName
@if ($errors->has('firstName'))
<span class="help-block">
<strong>{{ $errors->first('firstName') }}</strong>
</span>
@endif
現在,因爲我有很多領域,我必須保持repeatings這個塊各個領域。我擡頭看了看Laravel文檔上的刀片模板(延伸的葉片部分),我想我可以做的AppServiceProvider類(AppServiceProvider .PHP)
public function boot()
{
//
Blade::directive('showIfError', function($fieldName) {
if ($errors->has('$fieldName')) {
echo "<span class='help-block'>
<strong> $errors->first('$fieldName') </strong>
</span>";
}
});
}
然後用
@showIfError(「的firstName」以下)
,但沒有運氣......我得到的錯誤「未定義的變量:錯誤」
看起來像Laravel錯誤收集在圖中沒有文件訪問。
感謝任何幫助。謝謝。
你可以請包括你想達到什麼嗎? – Abrar
我不想複製和粘貼我的表單中每個字段的if(errors ...)塊。相反,我想要一個像@showIfError('fieldName')這樣的宏/刀片模板,並且最終輸出將像上面給出的跨度塊一樣呈現。 –
我發現視圖緩存干擾了輸出。如果我刪除存儲(緩存)文件夾中的所有文件,我可以使用會話('錯誤')工作,但它只能運行一次!再次使用相同的錯誤提交表單不會產生任何輸出!因此,我無法完全測試任何答案是否可行:-( 另外,Blade :: directive函數不需要2個參數。 –