Laravel 5.5 自定义 Blade 提供者 if 语句
Laravel 5.5 Custom Blade Provider if statement
我想创建一个自定义 blade 提供程序来清理我的代码。
public function boot() {
Blade::if ('hasError', function ($field) {
return session('errors')->has($field);
});
}
这是我在视图中使用的方式:
@hasError('email') has-error @endif
但我收到此错误消息:
Call to a member function has() on null ...
有人知道吗?
而不是:
return session('errors')->has($field);
这样做:
return session()->has('errors.' . $field);
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
目前这与视图中的相同:
@if (session('errors')->has('email'))
has-error
@endif
使用 Blade::if 指令,如果你想在视图中显示:
@hasError('email')
has-error
@endhasError
从 Laravel 5.5:
开始,您的启动方法中应该有这样的东西
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 提供程序来清理我的代码。
public function boot() {
Blade::if ('hasError', function ($field) {
return session('errors')->has($field);
});
}
这是我在视图中使用的方式:
@hasError('email') has-error @endif
但我收到此错误消息:
Call to a member function has() on null ...
有人知道吗?
而不是:
return session('errors')->has($field);
这样做:
return session()->has('errors.' . $field);
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
目前这与视图中的相同:
@if (session('errors')->has('email'))
has-error
@endif
使用 Blade::if 指令,如果你想在视图中显示:
@hasError('email')
has-error
@endhasError
从 Laravel 5.5:
开始,您的启动方法中应该有这样的东西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;
}
});