Rumah >rangka kerja php >Laravel >Beberapa ralat bentuk laravel biasa

Beberapa ralat bentuk laravel biasa

PHPz
PHPzasal
2023-04-11 15:05:53553semak imbas

Laravel ialah rangka kerja pembangunan PHP popular yang menyediakan pembangun dengan ciri dan alatan yang kaya untuk memudahkan pembangunan aplikasi web. Pengesahan borang ialah bahagian yang sangat penting dalam Laravel Ia membolehkan pembangun mengesahkan sama ada data yang dimasukkan pada borang adalah sah dan memberikan gesaan yang sepadan apabila ralat ditemui. Walau bagaimanapun, beberapa ralat akan berlaku dalam pengesahan borang Laravel Artikel ini bertujuan untuk memperkenalkan beberapa ralat pengesahan bentuk biasa dan menyediakan penyelesaian yang sepadan.

  1. Ralat CSRF

CSRF (Pemalsuan Permintaan Rentas Tapak, pemalsuan permintaan merentas tapak) ialah kaedah serangan biasa Penyerang memalsukan sumber permintaan untuk dibenarkan Pengguna menghantar beberapa permintaan berniat jahat tanpa mengetahuinya. Token CSRF disediakan dalam Laravel untuk melindungi aplikasi daripada serangan sedemikian. Walau bagaimanapun, apabila borang diserahkan, jika token CSRF tidak betul atau telah tamat tempoh, ralat CSRF akan berlaku.

Penyelesaian:

Tambah token CSRF dalam borang:

<form method="POST" action="/form">
  @csrf
  <input type="text" name="name">
  <button type="submit">Submit</button>
</form>
  1. Ralat pengesahan borang

Apabila data borang berlaku bukan Ralat pengesahan dicetuskan apabila peraturan pengesahan yang ditentukan dipenuhi. Laravel menyediakan banyak peraturan pengesahan, peraturan biasa seperti required (diperlukan), email (format e-mel), dsb. Jika ralat pengesahan tidak dikendalikan dengan betul, pengguna tidak akan dapat menyerahkan borang dengan betul dan menerima gesaan yang berkaitan.

Penyelesaian:

Lakukan pengesahan borang dalam pengawal dan kendalikan ralat pengesahan Kod sampel adalah seperti berikut:

public function store(Request $request)
{
    $validatedData = $request->validate([
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|confirmed|min:8',
    ]);

    // Store the user...
}

Jika pengesahan gagal, Laravel akan mengubah hala Go secara automatik. ke halaman borang dan dedahkan maklumat ralat pada lapisan paparan. Dalam lapisan paparan, anda boleh mendapatkan dan memaparkan maklumat ralat melalui arahan @error dan @if Kod sampel adalah seperti berikut:

<input id="name" type="text" class="@error(&#39;name&#39;) is-invalid @enderror" name="name" value="{{ old(&#39;name&#39;) }}" required autocomplete="name" autofocus>
@if ($errors->has('name'))
    <span class="invalid-feedback" role="alert">
        <strong>{{ $errors->first('name') }}</strong>
    </span>
@endif
  1. Ralat muat naik fail
Memuat Naik Fail ialah salah satu fungsi yang lebih biasa dalam aplikasi web Laravel menyediakan fungsi muat naik fail yang kaya, yang boleh melaksanakan fungsi muat naik dan pemprosesan fail dengan mudah. Walau bagaimanapun, apabila muat naik fail gagal, ralat muat naik fail akan berlaku, seperti fail yang dimuat naik terlalu besar, jenis fail tidak sepadan, dsb.

Penyelesaian:

Tambah kawalan muat naik fail dalam borang:

<form method="POST" action="/upload" enctype="multipart/form-data">
  @csrf
  <input type="file" name="photo" accept="image/*">
  <button type="submit">Upload</button>
</form>
Kendalikan fail yang dimuat naik dalam pengawal:

public function upload(Request $request)
{
    $request->validate([
        'photo' => 'required|file|max:1024',
    ]);

    $request->file('photo')->store('photos');

    return redirect('upload')->with('success', 'Upload successful.');
}
Dalam Dalam lapisan paparan, anda boleh menggunakan arahan

untuk memaparkan mesej ralat muat naik fail: @if

@if ($errors->has('photo'))
    <div class="alert alert-danger">{{ $errors->first('photo') }}</div>
@endif
Di atas ialah pengenalan artikel ini kepada ralat biasa dalam pengesahan borang Laravel dan penyelesaiannya. Dengan mengendalikan ralat ini dengan betul, keteguhan aplikasi dan pengalaman pengguna boleh dipertingkatkan dengan lebih baik.

Atas ialah kandungan terperinci Beberapa ralat bentuk laravel biasa. 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