Pertama, tentukan laluan GET dan pos untuk paparan dan penyerahan borang. Kemudian, buat borang bilah dengan @csrf untuk keselamatan. Seterusnya, mengendalikan permintaan dalam pengawal menggunakan peraturan pengesahan. Akhirnya, memaparkan mesej kejayaan atau kesilapan pengesahan dalam templat menggunakan sesi terbina dalam dan pengendalian ralat Laravel.
Penyerahan borang pengendalian di Laravel adalah terima kasih kepada ciri-ciri terbina dalam untuk penghalaan, pengesahan, dan pengendalian permintaan. Inilah cara anda boleh melakukannya dengan berkesan.
Tentukan laluan
Laravel menggunakan laluan untuk mengarahkan permintaan HTTP ke pengawal atau penutupan yang sesuai. Untuk pengendalian borang, anda biasanya memerlukan laluan mendapatkan untuk memaparkan borang dan laluan pos untuk memproses penyerahan.
- Gunakan
Route::get()
untuk menunjukkan borang. - Gunakan
Route::post()
untuk mengendalikan data borang.
Contoh:
Laluan :: get ('/hubungi', [contactController :: class, 'showform']); Laluan :: pos ('/hubungi', [contactController :: class, 'handlesubmit']);
Buat dan kendalikan borang
Dalam templat bilah anda, gunakan arahan pisau Laravel seperti @csrf
untuk memasukkan token CSRF, yang melindungi daripada pemalsuan permintaan lintas tapak.
Borang Contoh:
<form kaedah = "pos" tindakan = "/hubungi"> @csrf <input type = "text" name = "name" /> <input type = "e -mel" name = "e -mel" /> <Button Type = "Hantar"> Hantar </Button> </form>
Penyerahan proses dalam pengawal
Dalam pengawal anda, terima permintaan masuk dan sahkan data sebelum diproses.
- Suntikan
Illuminate\Http\Request
untuk mengakses input borang. - Gunakan kaedah
validate()
untuk memastikan data memenuhi peraturan.
Contoh:
Handlesubmit fungsi awam (permintaan $ permintaan) { $ disahkan = $ permintaan-> validate ([ 'Nama' => 'Diperlukan | String | Max: 100', 'e -mel' => 'diperlukan | e -mel', ]); // Proses data (contohnya, simpan ke pangkalan data, hantar e -mel) kembali redirect ()-> back ()-> dengan ('kejayaan', 'borang yang dikemukakan!'); }
Mengendalikan kesilapan dan maklum balas pengesahan
Jika pengesahan gagal, Laravel secara automatik mengalihkan kembali dengan kesilapan. Dalam templat bilah anda, periksa kesilapan ini dan paparkannya.
Contoh dalam pisau:
@if ($ errors-> any ()) <div class = "Alert Alert-Danger"> <ul> @Foreach ($ errors-> all () sebagai $ ralat) <li> {{$ error}} </li> @endforeach </ul> </div> @endif @if (sesi ('kejayaan')) <div class = "Alert Alert-Success"> {{session ('kejayaan')}} </div> @endif
Pada dasarnya hanya laluan, mengesahkan, memproses, dan bertindak balas. Laravel mengendalikan mengangkat berat supaya anda tidak perlu bimbang tentang data pos mentah atau perlindungan CSRF secara manual.
Atas ialah kandungan terperinci Bagaimana Mengatasi Penyerahan Borang di Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Laravelusmonologtologmessagesviathelogfacade, withdefaultlogsstoredinstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput;

InstallLaravelsanctumviacomposerandPublishitsFiles, thenrunmigrations.2.addthasapitokenstraittotheusermodel.3.definelogin, lo gout, anduserroutesinapi.php, usingsanctum'sauth: sanctummiddleware.4.protectapiroutesbyapplytheauth: sanctummiddleware.5.incl

Acountrycanaccessallpoststhroughusersusinghasmanythrough.forexample, withcountries, user, andpoststableLesLinkedbyforeignkeys, thecountrymodeldefinesahaSmanythroughrelationshiptopostviauser,

InstallPestviaComposerandinitializeitinlaraveltosetuptesting.2.CreateAfeatureTestSts/featuretovalidateuser-facingIntionsLikeHttprequestsanddatabaseChangesusingPest's Syntax.

Toimplementfull-textSearchInlaravel, firstaddfull-textIndexIntHemigrationUsing $ Table-> fullText (['tajuk', 'content']); thenusewherefulltext (['tajuk', 'content'], $ quere)

Toimplementapiauthenticationwithlaravelsanctum, youneedtosetuptoken-berasaskan authenticationThatallowsspas, MobileApps, andthird-partyservicestosecurelyaccessyourapi.sanCTumpumpumphrovidesalightweightapproachbyssuingapitokenshatcan

Pengawal Sumber Laravel dengan cepat memproses operasi CRUD melalui penghalaan yang tenang, menggunakan perintah artisan untuk menjana pengawal dan mendaftar laluan sumber, dan boleh membuat semua laluan standard dalam satu baris kod, yang menyokong sekatan tindakan, menambah middleware dan penamaan, dan menggabungkan model penghalaan yang mengikat ke parameter secara automatik.

Gunakan fungsi penolong redirect () untuk merealisasikan pengalihan dalam pengawal Laravel, seperti redirect ()-> laluan ('rumah') untuk melompat ke laluan yang dinamakan, redirect ('/pemuka') ke URL yang ditentukan, redirect ()-> kembali ke halaman sebelumnya, dan menggunakan semula data Adalah disyorkan untuk menggunakan laluan yang dinamakan untuk meningkatkan penyelenggaraan.
