Laravel ialah rangka kerja PHP popular yang menyediakan banyak ciri mudah untuk membina aplikasi web dengan cepat. Satu fungsi biasa ialah mengendalikan penyerahan borang. Dalam artikel ini, kami akan mendalami penyerahan borang dalam Laravel.
Pertama, kita perlu mencipta borang dalam halaman web. Laravel menyediakan banyak kaedah membina bentuk, yang paling biasa digunakan ialah menggunakan pandangan Blade untuk menjana borang. Berikut ialah contoh mudah:
<form method="POST" action="{{ route('submit') }}"> @csrf <label for="name">姓名:</label> <input type="text" id="name" name="name"> <button type="submit">提交</button> </form>
Dalam contoh ini, kami menggunakan teg <form>
untuk membuat borang dan menetapkan atribut method
dan action
borang tersebut. method
Nyatakan kaedah penyerahan borang Terdapat dua kaedah yang biasa digunakan: GET
dan POST
. action
Nyatakan alamat sasaran untuk penyerahan borang Kita boleh menggunakan fungsi route
yang disediakan oleh Laravel untuk menjana alamat penghalaan.
Pada masa yang sama, kami juga perlu menambah medan tersembunyi untuk mengesahkan keselamatan permintaan penyerahan borang. Laravel menyediakan arahan @csrf
untuk menjana medan tersembunyi ini.
Dalam borang, kita boleh menambah pelbagai jenis elemen borang, seperti kotak teks, kotak lungsur, butang radio, kotak semak, dsb. Elemen ini boleh dibuat menggunakan tag seperti <input>
, <textarea>
dan <select>
.
Apabila pengguna menyerahkan borang, kami perlu memprosesnya di bahagian belakang. Laravel menyediakan cara yang mudah untuk mengendalikan permintaan penyerahan borang.
Pertama, kita perlu menambah kaedah untuk mengendalikan permintaan dalam definisi laluan, contohnya:
Route::post('/submit', 'FormController@submit')->name('submit');
Takrifan laluan ini bermakna apabila pengguna mengakses alamat POST
dalam Cara /submit
, Kaedah FormController
dalam submit
akan dipanggil untuk diproses. Kami juga memberi laluan ini nama untuk memudahkan penjanaan atribut action
borang dalam paparan.
Seterusnya, kita perlu mentakrifkan kaedah FormController
dalam submit
untuk mengendalikan permintaan penyerahan borang. Contohnya:
use Illuminate\Http\Request; class FormController extends Controller { public function submit(Request $request) { $name = $request->input('name'); // 处理表单数据 return view('submit-success'); } }
Dalam kaedah ini, kita mula-mula mendapatkan objek Request
melalui suntikan kebergantungan. Objek ini boleh digunakan untuk mendapatkan data yang dihantar melalui borang.
Sebagai contoh, kami menggunakan $request->input('name')
untuk mendapatkan nilai elemen bentuk bernama name
.
Seterusnya, kita boleh memproses data borang, seperti menyimpannya dalam pangkalan data. Akhir sekali, kami mengembalikan paparan untuk memaparkan halaman di mana penyerahan borang berjaya.
Apabila memproses permintaan penyerahan borang, biasanya kami juga perlu mengesahkan data input pengguna untuk memastikan kesahihan data. Laravel menyediakan cara yang sangat mudah untuk melaksanakan pengesahan borang.
Pertama, kita perlu mentakrifkan kaedah FormController
dalam rules
untuk mentakrifkan peraturan pengesahan. Contohnya:
class FormController extends Controller { public function rules() { return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|min:6', ]; } }
Dalam kaedah ini, kami mengembalikan tatasusunan, di mana setiap elemen mewakili peraturan pengesahan untuk elemen borang. Sebagai contoh, peraturan pengesahan untuk elemen name
menunjukkan bahawa ia diperlukan dan tidak boleh lebih daripada 255 aksara.
Seterusnya, kita perlu mengubah suai kaedah submit
dan menggunakan kaedah validate
untuk pengesahan borang. Contohnya:
public function submit(Request $request) { $validatedData = $request->validate($this->rules()); // 处理验证通过的表单数据 return view('submit-success'); }
Dalam kaedah ini, kami mula-mula memanggil kaedah rules
untuk mendapatkan peraturan pengesahan. Kemudian, kami memanggil kaedah $request->validate
untuk pengesahan borang. Jika pengesahan gagal, Laravel akan mengembalikan respons yang mengandungi maklumat ralat secara automatik. Jika pengesahan lulus, Laravel akan mengembalikan data borang yang disahkan, yang boleh kami gunakan dalam pemprosesan seterusnya.
Perlu diingat bahawa kaedah validate
secara automatik akan menggunakan peraturan pengesahan yang ditakrifkan dalam kaedah rules
untuk pengesahan Jika terdapat mesej ralat, Laravel akan menambah mesej ralat ini secara automatik pada $errors
pembolehubah. Kita boleh menggunakan $errors->first('name')
dalam paparan untuk mendapatkan mesej ralat pertama untuk elemen borang bernama name
.
Melalui langkah di atas, kami boleh mengendalikan permintaan penyerahan borang dalam Laravel dengan mudah. Pertama, kita perlu mencipta borang dalam paparan dan menggunakan arahan Blade untuk menetapkan elemen borang. Kemudian, kami menambah kaedah untuk mengendalikan permintaan dalam definisi laluan, menggunakan objek Request
untuk mendapatkan data borang dan memproses data. Akhir sekali, kita boleh menggunakan kaedah rules
untuk menentukan peraturan pengesahan borang dan kaedah validate
untuk pengesahan.
Perlu diambil perhatian bahawa Laravel menyediakan banyak cara lain untuk mengendalikan borang, seperti menggunakan kelas Form
dan Request
objek untuk mencipta borang, menggunakan objek Request
untuk pengesahan borang, dsb. Kita boleh memilih cara yang berbeza untuk memproses borang mengikut keperluan tertentu.
Atas ialah kandungan terperinci Bincangkan pengetahuan berkaitan tentang penyerahan borang dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!