Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengesahkan Tatasusunan dalam Laravel: Penyerahan Kosong dan Amalan Terbaik?

Bagaimana untuk Mengesahkan Tatasusunan dalam Laravel: Penyerahan Kosong dan Amalan Terbaik?

Barbara Streisand
Lepaskan: 2024-11-27 16:29:11
asal
289 orang telah melayarinya

How to Validate Arrays in Laravel: Empty Submissions and Best Practices?

Mengesahkan Tatasusunan dalam Laravel

Apabila cuba mengesahkan tatasusunan dalam Laravel menggunakan kod berikut:

$validator = Validator::make($request->all(), [
    "name.*" => 'required|distinct|min:3',
    "amount.*" => 'required|integer|min:1',
    "description.*" => "required|string"
]);
Salin selepas log masuk

Anda mungkin menghadapi senario yang tidak dijangka di mana penyerahan POST kosong secara tersilap diiktiraf sebagai sah, mengakibatkan positif palsu.

Kekeliruan ini timbul kerana simbol asterisk (*) dalam kod bertujuan untuk mengesahkan nilai dalam tatasusunan, bukan tatasusunan itu sendiri. Untuk menangani perkara ini, peraturan pengesahan harus diubah suai untuk menyemak kehadiran tatasusunan:

$validator = Validator::make($request->all(), [
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
Salin selepas log masuk

Dalam kod terlaras ini:

  • "nama" memastikan bahawa "nama" " kunci dalam data POST ada dan mengandungi tatasusunan.
  • "nama.*" kemudian mengesahkan nilai individu dalam tatasusunan "nama", memastikan ia diperlukan, rentetan unik dengan panjang minimum 3 aksara.

Sejak Laravel 5.5, pendekatan yang dipermudahkan boleh digunakan:

$data = $request->validate([
    "names"    => "required|array|min:3",
    "names.*"  => "required|string|distinct|min:3",
]);
Salin selepas log masuk

Sintaks padat ini secara langsung melaksanakan pengesahan pada objek Permintaan, menghapuskan keperluan untuk pengantara $validator.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Tatasusunan dalam Laravel: Penyerahan Kosong dan Amalan Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan