кодесурса
«Laravel

Laravel (5.7) Валидация

script1adsense2code
script1adsense3code

Валидация является наиболее важным аспектом при разработке приложения. Он проверяет поступающие данные. По умолчанию базовый класс контроллера использует черту ValidatesRequests, которая предоставляет удобный метод для проверки входящих HTTP-запросов с помощью множества мощных правил проверки.

Доступные правила проверки в Laravel

Laravel всегда проверяет наличие ошибок в данных сеанса и автоматически связывает их с представлением, если они доступны. Таким образом, важно отметить, что переменная $ errors всегда будет доступна во всех ваших представлениях при каждом запросе, что позволяет вам удобно предполагать, что переменная $ errors всегда определена и может безопасно использоваться.

Переменная $ errors будет экземпляром IlluminateSupportMessageBag . Сообщение об ошибке можно отобразить в файле представления, добавив код, как показано ниже.

@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

Шаг 2. Скопируйте следующий код в файл 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'
      ]);
   }
}

Шаг 3 - Создайте файл вида с именем

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>

Шаг 4 - Добавьте следующие строки в app / Http / rout.php.

приложение / Http / routes.php

Route::get('/validation','[email protected]');
Route::post('/validation','[email protected]');

Шаг 5 - Посетите следующий URL, чтобы проверить правильность.

HTTP: // локальный: 8000 / валидация

Предыдущая: Laravel (5.7) Сессия
Далее: Laravel (5.7) Обработка ошибок

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code