LaravelのFormのパッケージを追加して、formの実装を行ってみます。
パッケージの追加
composer.json
composer.jsonのrequireに”laravelcollective/html”: “5.2.*” を追加します。
// 変更前 "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*" }, // 変更後 "require": { "php": ">=5.5.9", "laravel/framework": "5.2.*", "laravelcollective/html": "5.2.*" },
コマンドプロンプトで作業ディレクトリまで移動して、下記コマンドを実行します。
composer update
config\app.php
app.phpのprovidersにCollective\Html\HtmlServiceProvider::class, を追加します。
'providers' => [ ~ 略 ~ Collective\Html\HtmlServiceProvider::class, ],
app.phpのaliasesに’Form’ => Collective\Html\FormFacade::class, ‘Html’ => Collective\Html\HtmlFacade::class, を追加します。
'aliases' => [ ~ 略 ~ 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, ],
これでFormのパッケージが追加できました。
実際に使ってみます。
resources\views\post\index.blade.php
{!! Form::open() !!} <dl> <dt>{!! Form::label('mail', 'メールアドレス:') !!}<span class="required">(必須)</span></dt> <dd> {!! Form::text('mail', null) !!} @if($errors->has('mail'))<p class="error">{{ $errors->first('mail') }}</p> @endif </dd> </dl> <dl> <dt>{!! Form::label('password', 'パスワード:') !!}<span class="required">(必須・8文字以上)</span></dt> <dd> {!! Form::password('password', null) !!} @if($errors->has('password'))<p class="error">{{ $errors->first('password') }}</p> @endif </dd> </dl> <div> {!! Form::submit('送信') !!} </div> {!! Form::close() !!}
フォームの実装ができました。
バリデーションの実装は以前の記事を流用しています。
入力内容のエラーなどで入力画面に戻ってきた場合、前回の入力内容がinputに入ります。
【参考サイト】
コメントが承認されるまで時間がかかります。