Form
剛開始學習較複雜的測試時,即便通過測試,但實際頁面的實作也還是必要的。
- 真正加入表單頁面。
- Laravel 5 把 HTML 和 Form 元件拿掉了,要自己加回來。
加入 illuminate/http
套件。
$ composer require illuminate/html
在 config/app.php
加入:
'providers' => [
// ...
// 加入此行,載入 illuminate/html 的 Service Provider
'Illuminate\Html\HtmlServiceProvider',
/*
* Application Service Providers...
*/
// ...
],
// ...
'aliases' => [
// ...
// 加入以下兩行,使用 Form 的 facade 介面
'Form' => 'Illuminate\Html\FormFacade',
'HTML' => 'Illuminate\Html\HtmlFacade',
],
建立表單,即 resources/views/articles/create.php
:
{!! !!}
輸出 raw dataForm::open
會自動加入_token
的隱藏欄位$error
是一個ViewErrorBag
物件,用來放置 Session 保留的錯誤訊息
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Create Article</title>
</head>
<body>
{!! Form::open(['route' => 'articles.index']) !!}
<p>
Title: {!! Form::text('title') !!}
</p>
<p>
Body: {!! Form::textarea('body') !!}
</p>
<p>
{!! Form::submit('Create Article') !!}
</p>
{!! Form::close() !!}
@if ($errors->any())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
</body>
</html>
ArticleController
加入 create
方法:
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
return view('articles.create');
}
實際用瀏覽器測試以下網址:
http://localhost/posts/create