入力フィールドの後に検証エラーを表示するには、次を使用します。
<div class="form-group">
{!! Html::decode(Form::label('first_name','First Name:<span class="required">*</span>',['class'=>'control-label col-sm-3'])) !!}
<div class="col-sm-6">
{!! Form::text('first_name',null,['class'=>'form-control']) !!}
@if ($errors->has('first_name'))
<span class="help-block">
<strong>{{ $errors->first('first_name') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
{!! Html::decode(Form::label('last_name','Last Name:<span class="required">*</span>',['class'=>'control-label col-sm-3'])) !!}
<div class="col-sm-6">
{!! Form::text('last_name',null,['class'=>'form-control']) !!}
@if ($errors->has('last_name'))
<span class="help-block">
<strong>{{ $errors->first('last_name') }}</strong>
</span>
@endif
</div>
</div>
// and so on......
このコードは完全に機能します。しかし、すべての入力ボックスにほぼ同じコードを書かなければなりません。そこで、エラーを表示するグローバル関数を作ることにしました。これを達成するために、私は次のことを行いました。
helpers.php
内部app
フォルダーを作成する次のコードを記述します。
function isError($name){ if($errors->has($name)){ return '<span class="help-block"><strong>'.$errors->first($name).'</strong></span>'; } }
走る
composer dump-autoload
このようにブレードファイルで使用しました:
<div class="form-group"> {!! Html::decode(Form::label('first_name','First Name:<span class="required">*</span>',['class'=>'control-label col-sm-3'])) !!} <div class="col-sm-6"> {!! Form::text('first_name',null,['class'=>'form-control']) !!} {{ isError('first_name') }} </div> </div> <div class="form-group"> {!! Html::decode(Form::label('last_name','Last Name:<span class="required">*</span>',['class'=>'control-label col-sm-3'])) !!} <div class="col-sm-6"> {!! Form::text('last_name',null,['class'=>'form-control']) !!} {{ isError('last_name') }} </div> </div>
今、私が行くとcreate.blade.php
エラーが発生します
未定義の変数: エラー (表示: D:\xampp\htdocs\hms\resources\views\guest\create.blade.php)
helpers.php
を定義していないため、問題が発生していることはわかってい$errors
ます。ブレードファイルからそのコードを貼り付けるだけです。