Валидация является наиболее важным аспектом при разработке приложения. Он проверяет поступающие данные. По умолчанию базовый класс контроллера использует черту ValidatesRequests, которая предоставляет удобный метод для проверки входящих HTTP-запросов с помощью множества мощных правил проверки.
Доступные правила проверки в Laravel
Laravel всегда проверяет наличие ошибок в данных сеанса и автоматически связывает их с представлением, если они доступны. Таким образом, важно отметить, что переменная $ errors всегда будет доступна во всех ваших представлениях при каждом запросе, что позволяет вам удобно предполагать, что переменная $ errors всегда определена и может безопасно использоваться. В следующей таблице приведены все доступные правила проверки в Laravel.
| Доступные правила проверки в Laravel | ||
|---|---|---|
| Принято | Активный URL | После (Дата) |
| Альфа | Альфа Дэш | Альфа Числовой |
| массив | До (Дата) | Между |
| логический | подтвердил | Дата |
| Формат даты | Разные | Digits |
| Цифры между | Эл. почта | Существует (база данных) |
| Файл изображения) | В | целое число |
| Айпи адрес | JSON | Максимум |
| MIME Типы (Файл) | Min | Не в |
| числовой | Регулярное выражение | необходимые |
| Требуется, если | Требуется, если только | Требуется с |
| Требуется со всеми | Требуется без | Требуется без всего |
| Так же | Размер | строка |
| Часовой пояс | Уникальный (База данных) | URL |
Переменная $ errors будет экземпляром Illuminate \ Support \ MessageBag . Сообщение об ошибке может быть отображено в файле представления, добавив код, как показано ниже.
@if (count($errors) > 0)
<div class = "alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
пример
Шаг 1 — Создайте контроллер под названием ValidationController , выполнив следующую команду.
php artisan make:controller ValidationController --plain
Шаг 2 — После успешного выполнения вы получите следующий вывод —

Шаг 3 — Скопируйте следующий код в
Файл app / Http / Controllers / ValidationController.php .
приложение / Http / Контроллеры / 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'
]);
}
}
Шаг 4 — Создайте файл представления с именем resources / views / login.blade.php и скопируйте следующий код в этот файл.
ресурсы / виды / 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>
Шаг 5 — Добавьте следующие строки в app / Http / rout.php .
приложение / Http / routes.php
Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');
Шаг 6 — Посетите следующий URL для проверки правильности.
http://localhost:8000/validation
Шаг 7 — Нажмите кнопку «Войти» , не вводя ничего в текстовое поле. Вывод будет таким, как показано на следующем рисунке.