Laravel - Doğrulama

Doğrulama, bir uygulama tasarlarken en önemli unsurdur. Gelen verileri doğrular. Varsayılan olarak, temel denetleyici sınıfı birValidatesRequests gelen HTTP isteklerini çeşitli güçlü doğrulama kuralları ile doğrulamak için uygun bir yöntem sağlayan özellik.

Laravel'de Mevcut Doğrulama Kuralları

Laravel her zaman oturum verilerindeki hataları kontrol eder ve varsa bunları otomatik olarak görünüme bağlar. Bu nedenle, şunu not etmek önemlidir:$errors değişken her istek üzerine tüm görüşlerinizde mevcut olacak ve $errorsdeğişken her zaman tanımlanır ve güvenle kullanılabilir. Aşağıdaki tablo Laravel'deki mevcut tüm doğrulama kurallarını gösterir.

Laravel'de Mevcut Doğrulama Kuralları
Kabul edilmiş Aktif URL (Tarih) Sonrası
Alfa Alpha Dash Alfa Sayısal
Dizi Önceki (Tarih) Arasında
Boole Onaylanmış Tarih
Tarih formatı Farklı Rakamlar
Arasındaki Basamak Sayısı E-posta Var (Veritabanı)
Görüntü dosyası) İçinde Tamsayı
IP adresi JSON Max
MIME Türleri (Dosya) Min Değil
Sayısal Düzenli ifade gereklidir
Gerekirse Olmadığı sürece gerekli İle gerekli
Hepsi İle Gerekli Olmadan Gerekli Hepsi Olmadan Gerekli
Aynı Boyut Dize
Saat dilimi Benzersiz (Veritabanı) URL

$errors değişken bir örnek olacaktır Illuminate\Support\MessageBag. Hata mesajı, aşağıda gösterildiği gibi kod eklenerek dosyada görüntülenebilir.

@if (count($errors) > 0)
   <div class = "alert alert-danger">
      <ul>
         @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
         @endforeach
      </ul>
   </div>
@endif

Misal

Step 1 - adlı bir denetleyici oluşturun ValidationController aşağıdaki komutu yürüterek.

php artisan make:controller ValidationController --plain

Step 2 - Başarılı bir yürütmeden sonra, aşağıdaki çıktıyı alacaksınız -

Step 3 - Aşağıdaki kodu kopyalayın

app/Http/Controllers/ValidationController.php dosya.

app/Http/Controllers/ValidationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class ValidationController extends Controller {
   public function showform() {
      return view('login');
   }
   public function validateform(Request $request) {
      print_r($request->all());
      $this->validate($request,[
         'username'=>'required|max:8',
         'password'=>'required'
      ]);
   }
}

Step 4 - adlı bir görünüm dosyası oluşturun resources/views/login.blade.php ve aşağıdaki kodu o dosyaya kopyalayın.

resources/views/login.blade.php

<html>
   
   <head>
      <title>Login Form</title>
   </head>

   <body>
      
      @if (count($errors) > 0)
         <div class = "alert alert-danger">
            <ul>
               @foreach ($errors->all() as $error)
                  <li>{{ $error }}</li>
               @endforeach
            </ul>
         </div>
      @endif
      
      <?php
         echo Form::open(array('url'=>'/validation'));
      ?>
      
      <table border = '1'>
         <tr>
            <td align = 'center' colspan = '2'>Login</td>
         </tr>
         <tr>
            <td>Username</td>
            <td><?php echo Form::text('username'); ?></td>
         </tr>
         <tr>
            <td>Password</td>
            <td><?php echo Form::password('password'); ?></td>
         </tr>
         <tr>
            <td align = 'center' colspan = '2'
               ><?php echo Form::submit('Login'); ?  ></td>
         </tr>
      </table>
      
      <?php
         echo Form::close();
      ?>
   
   </body>
</html>

Step 5 - Aşağıdaki satırları ekleyin app/Http/routes.php.

app/Http/routes.php

Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');

Step 6 - Doğrulamayı test etmek için aşağıdaki URL'yi ziyaret edin.

http://localhost:8000/validation

Step 7 - tıklayın “Login”metin alanına hiçbir şey girmeden düğmesine basın. Çıktı aşağıdaki resimde gösterildiği gibi olacaktır.