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.