Skip to content
This repository has been archived by the owner on Apr 27, 2022. It is now read-only.

Commit

Permalink
拆分程式碼Request
Browse files Browse the repository at this point in the history
  • Loading branch information
victorbuild committed Oct 5, 2019
1 parent d47443f commit 9e34175
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 12 deletions.
16 changes: 4 additions & 12 deletions app/Http/Controllers/AnimalController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
use Symfony\Component\HttpFoundation\Response;
use App\Http\Resources\AnimalResource;
use Auth;
use App\Http\Requests\StoreAnimalRequest;

class AnimalController extends Controller
{

Expand Down Expand Up @@ -71,21 +73,11 @@ public function create()
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param App\Http\Requests\StoreAnimalRequest $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
public function store(StoreAnimalRequest $request)
{
$this->validate($request, [
'type_id' => 'required',
'name' => 'required|max:255',
'birthday' => 'required|date',
'area' => 'required|max:255',
'fix' => 'required|boolean',
'description' => 'nullable',
'personality' => 'nullable'
]);

$animal = Animal::create($request->all());
return response($animal, Response::HTTP_CREATED);
}
Expand Down
37 changes: 37 additions & 0 deletions app/Http/Requests/StoreAnimalRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreAnimalRequest extends FormRequest
{
/**
* 確認是否確認用戶有沒有權限請求
*
* @return bool
*/
public function authorize()
{
return true;
}

/**
* 撰寫請求表單的規格
*
* @return array
*/
public function rules()
{
// app/Http/Controllers/AnimalController.php 中 store 方法中之前寫的驗證表單規格複製過來
return [
'type_id' => 'required',
'name' => 'required|max:255',
'birthday' => 'required|date',
'area' => 'required|max:255',
'fix' => 'required|boolean',
'description' => 'nullable',
'personality' => 'nullable'
];
}
}

0 comments on commit 9e34175

Please sign in to comment.