我想创建一个自定义刀片提供程序来清理我的代码。
public function boot() {
Blade::if ('hasError', function ($field) {
return session('errors')->has($field);
});
}
这就是我在视图中使用的方式:
@hasError('email') has-error @endif
但我收到此错误消息:
调用成员函数has()on null ...
有人有想法吗?
答案 0 :(得分:0)
而不是:
return session('errors')->has($field);
这样做:
return session()->has('errors.' . $field);
答案 1 :(得分:0)
if($validator->fails()) {
return session()->has('errors.' . $field);
您可以使用
捕捉视图中的错误@if ($errors->any())
{{ implode('', $errors->all('<div>:message</div>')) }}
@endif
更新
要在每个字段下显示错误,您可以这样做。
<input type="text" name="firstname">
@if ($errors->has('firstname'))
<div class="error">{{ $errors->first('firstname') }}</div>
@endif
答案 2 :(得分:0)
目前在视图中与此相同:
use Illuminate\Support\Facades\Blade;
public function boot() {
Blade::if('hasError', function ($field) {
if(session()->has($field){
/* some validation code
if(validation){return true}else{return false;}
*/
}else{
return false;
}
});
使用Blade :: if指令,如果你想在你的视图中使用它:
define("CONSTANT","World !!");
$array=array(" Hello CONSTANT");
echo $array[0];
从Laravel 5.5开始,你的启动方法应该有这样的东西:
Hello World !!