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

Beberapa ralat bentuk laravel biasa

PHPz
Lepaskan: 2023-04-11 15:56:31
asal
520 orang telah melayarinya

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>
Salin selepas log masuk
  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...
}
Salin selepas log masuk

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
Salin selepas log masuk
  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>
Salin selepas log masuk
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.');
}
Salin selepas log masuk
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
Salin selepas log masuk
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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan