我正在使用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个参数。 –