Dalam Laravel kita guna GET method untuk paparkan form
Route:get ('/courer/create',CouriersController@create');
Tetapi kita gunakan POST untuk submit data. Ia tidak disimpan dalam cache dan parameter tidak disimpan dalam History, lebih secure.
Tambah pada routes.php (web.php utk versi Laravel versi 5.3 keatas)
Route:post('/courier','CouriersController@store');
Untuk memastikan data yang disimpan dalam table, kita akan lakukan validation kepada store action dengan menggnakan CourierFormRequest.
Tambah pada CouriersController.php sebelum class CouriersController
use App\Http\Requests\CourierFormRequest; class CouriersController extends Controller {
Tambah pada CouriersControler.php method store
public function store(CourierFormRequest $request) { return $request->all(); }
What is TokenMismatchException?
For security purposes, Laravel now requires a token to be sent when using the POST method. If you
don’t send any token, it will throw an error.
Tambah code berikut pada form, dibawah tag <form> utk security
<input type="hidden" name="_token" value="{!! csrf_token() !!}">
Tambah code berikut untuk paparan error jika ada field yang tidak diisi.
@foreach ($errors->all() as $error) <p class="alert alert-danger">{{ $error }}</p> @endforeach
Tambah code berikut untuk paparan success jika berjaya.
@if (session('status')) <div class="alert alert-success"> {{ session('status') }} </div> @endif
Ringkasan:
- Edit Route
- Gunakan method GET untuk paparan form (route.php)
- Gunakan method POST untuk dapatkan data (route.php)
- Create Form Request
- Gunakan FormRequest untuk validate data form (CourierFormRequest.php)
- Edit Controller
- Tambah sebelum class use App\Http\Requests\TicketFormRequest;
- Tambah method store()
- Edit view
- Tambah method post <form method=”post”>
- Tambah CSRF Token bawah tag <form> <input type=”hidden” name=”_token” value=”{!! csrf_token() !!}”>
- Tambah foreach semak error bawah tag <form> @foreach ($errors->all() as $error) <p class=”alert alert-danger”>{{ $error }}</p>
@endforeach - Tambah foreach success jika berjaya bawah form tag @if (session(‘status’))
<div class=”alert alert-success”>
{{ session(‘status’) }}
</div>
@endif
Leave a Reply