Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk mengesahkan data permintaan menggunakan Pengesahan Laravel?

Pembangunan Laravel: Bagaimana untuk mengesahkan data permintaan menggunakan Pengesahan Laravel?

王林
王林asal
2023-06-14 08:35:511206semak imbas

Pembangunan Laravel: Bagaimana untuk menggunakan Pengesahan Laravel untuk mengesahkan data permintaan?

Laravel ialah salah satu rangka kerja PHP yang paling popular pada masa ini. Salah satu sebabnya ialah ia menyediakan banyak komponen yang sangat baik, salah satunya ialah Pengesahan Laravel. Dalam proses pembangunan web, kami selalunya perlu mengesahkan sama ada data yang diserahkan dari bahagian hadapan mematuhi spesifikasi, seperti penyerahan borang, dll. Pada masa ini, kami perlu menggunakan komponen Pengesahan Laravel untuk pengesahan data.

Artikel ini akan memperkenalkan penggunaan asas dan contoh Pengesahan Laravel.

  1. Memperkenalkan Pengesahan

Memperkenalkan Pengesah dalam Pengawal:

use IlluminateSupportFacadesValidator;
  1. Peraturan pengesahan

sokongan Pengesahan Laravel pelbagai peraturan pengesahan yang berbeza, termasuk yang diperlukan, e-mel, tarikh, dsb. Kita boleh memilih mengikut keperluan kita. Jadual berikut menyenaraikan beberapa peraturan yang biasa digunakan:

规则 说明
required 必填
email 邮箱格式
date 日期格式
regex 正则匹配
max 最大长度
min 最小长度
  1. Pembinaan Pengesah

Menggunakan Laravel Validaton anda perlu membina pengesah terlebih dahulu, yang boleh dibina dengan cara yang berbeza , seperti:

  • Gunakan kaedah buat fasad Pengesah:
public function validate(Request $request)
{
  $validator = Validator::make($request->all(), [
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users|max:255',
    'password' => 'required|min:6|max:255',
  ]);

  if ($validator->fails()) {
    return redirect('register')
      ->withErrors($validator)
      ->withInput();
  }

  // 验证通过,执行代码
}
  • Gunakan pengesahan permintaan:
public function rules()
{
  return [
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users|max:255',
    'password' => 'required|min:6|max:255',
  ];
}

public function register(Request $request)
{
  $this->validate($request, $this->rules());

  // 验证通过,执行代码
}
  1. Mesej Ralat Pengesahan

Jika pengesahan gagal, anda boleh mendapatkan mesej ralat melalui kaedah withErrors, seperti:

if ($validator->fails()) {
  return redirect('register')
    ->withErrors($validator)
    ->withInput();
}

Kemudian panggil pembolehubah $errors dalam paparan ke dapatkan mesej ralat yang sepadan:

@if ($errors->has('name'))
  <span class="help-block">
    <strong>{{ $errors->first('name') }}</strong>
  </span>
@endif
  1. Mesej ralat tersuai

Dalam parameter kedua pembina pengesah, anda boleh menetapkan mesej ralat tersuai untuk memberikan gesaan yang lebih khusus untuk ralat pengesahan, seperti :

public function rules()
{
  return [
    'name' => 'required|max:255',
    'email' => 'required|email|unique:users|max:255',
    'password' => 'required|min:6|max:255',
  ];
}

public function messages()
{
  return [
    'name.required' => '名称不能为空',
    'email.required' => '邮箱不能为空',
    'email.email' => '请输入正确的邮箱地址',
    'email.unique' => '该邮箱已经被注册',
    'password.required' => '密码不能为空',
    'password.max' => '密码长度不能超过:max个字符',
  ];
}

public function register(Request $request)
{
  $validator = Validator::make($request->all(), $this->rules(), $this->messages());

  if ($validator->fails()) {
    return redirect('register')
      ->withErrors($validator)
      ->withInput();
  }

  // 验证通过,执行代码
}

Artikel ini menggunakan kod di atas sebagai contoh untuk memberi pengenalan asas kepada Pengesahan Laravel Saya harap artikel ini dapat membantu semua orang.

Bahan rujukan:

"Rangka Kerja Laravel"

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk mengesahkan data permintaan menggunakan Pengesahan Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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