$ composer require laravelcollective/html
laravelは8系なのに、collectiveがv6.2.0って、全然追いついてないけど、使ってみます。
L collectiveはcsrfは自動
config/app.php
'providers' => [ // 省略 Collective\Html\HtmlServiceProvider::class, ] 'aliases' => [ // 省略 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, ],
まず、普通のhtmlで書きます。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> </head> <body> <h1>user id:{{ $user-> role_id}}</h1> <div class="col-md-8"> <form method="post" action="/admin/create"> <div class="form-group"> <label for="title">Title:</label> <input class="form-control" name="title" type="text" id="title"> </div> <div class="form-group"> <label for="body">Body:</label> <textarea class="form-control" name="body" type="text" id="body"></textarea> </div> <div class="form-group"> <label for="published_at">Publish On:</label> <input class="form-control" name="published_at" type="text" id="published_at"> </div> <div class="form-group"> <input class="btn btn-primary form-control" type="submit" value="送信"> </div> </form> </div> </body> </html>
続いて、collectiveを使います。
{!! Form::open(['url' => '/admin/create']) !!} <div class="form-group"> {!! Form::label('title', 'Title:') !!} {!! Form::text('title', null, ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::label('body', 'Body:') !!} {!! Form::textarea('body', null, ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::label('published_at', 'Published On:') !!} {!! Form::text('published_at', null, ['class' => 'form-control']) !!} </div> <div class="form-group"> {!! Form::submit('送信',['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!}
ふむ、laravel8系でもcollective v6使えますね。安心した。
これを実装していきます。