✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Посібник для початківців для перевірки Laravel

17

Коли ми створюємо веб-сайт у Laravel, ми повинні знати про перевірку Laravel. Laravel пропонує інший спосіб перевірки ваших вхідних даних. У цій статті ми вивчаємо основи перевірки Laravel.

Створюючи додаток, ми повинні обов’язково застосовувати перевірки на стороні клієнта та сервера. Таким чином ми можемо захистити наш додаток від непотрібних даних. Як результат, це заощадить нам багато часу на очищення даних про відходи з програми.

Сказавши це, давайте подивимося, як застосувати перевірку Laravel у своїй заявці.

Для нашого підручника ми беремо приклад форми, яка має 2 поля та назву та опис. Ми застосуємо перевірку, і якщо перевірка не вдасться, вона відобразиться на наш погляд.

Перевірка Laravel

Для початку нам потрібно включити заяву нижче у наш файл контролера.

Розмістіть це твердження перед початком роботи контролера, як показано нижче.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
use Validator;
 
class PostController extends Controller
{
   .....
}

Перш ніж писати фактичний код перевірки, давайте перейдемо до файлу перегляду. Ми створюємо просту форму з 2 полями заголовок та опис.

<form action="{{ url('post') }}" method="post">
  <div class="form-group">
      <label for="exampleInputTitle">Post Title</label>
      <input type="text" name="title" id="exampleInputTitle" />
  </div>
  <div class="form-group">
      <label for="exampleInputBody">Post Body</label>
      <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
  </div>
  {{ csrf_field() }}
  <button type="submit" class="btn btn-default">Submit</button>
</form>

Коли ми надсилаємо форму, вона викликає store()метод нашого контролера. У вашому випадку, можливо, ваш спосіб відрізняється. Отже, у нашому методі ми напишемо код перевірки наступним чином.

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'title' => 'required|max:255',
        'body' => 'required',
    ]);
 
    if ($validator->fails()) {
        return redirect('post/create')
                    ->withErrors($validator)
                    ->withInput();
    }
 
    //safe to proceed form
}

Ви можете помітити, що ми передали два ключі "title" і "body". Це назва наших елементів форми. Тут Laravel перевіряє, чи обидва поля не порожні, а поля заголовка не перевищують 255 символів.

Якщо будь-яка з перевірок не вдається, користувач перенаправить на сторінку, яку ми перейшли до методу redirect().

Відображення повідомлень про помилки у поданні

Ми застосували перевірку на стороні сервера. Тепер давайте подивимося, як відображати повідомлення про помилки.

Скажімо, у нашому випадку перевірка не вдається, і тепер нам потрібно відображати повідомлення про помилки у нашій формі. Існує 2 способи відображення помилок у поданнях Laravel. По-перше, ми можемо відображати всі повідомлення про помилки разом у верхній частині форми. По-друге, можна відобразити його поруч із кожним полем, яке має помилку.

Щоб відобразити повідомлення про помилку у верхній частині форми, додайте код нижче над тегом форми.

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

Цей код відображатиме повідомлення про помилку, як показано на скріншоті нижче:

Другий спосіб – надрукувати повідомлення про помилку після кожного поля. У цьому випадку наш код такий:

<div class="form-group">
   <label for="exampleInputTitle">Post Title</label>
   <input type="text" name="title" id="exampleInputTitle" />
   @if ($errors->has('title'))
       <span class="error">
           {{ $errors->first('title') }}
       </span>
   @endif
 
</div>
<div class="form-group">
   <label for="exampleInputBody">Post Body</label>
   <textarea class="form-control" name="body" id="exampleInputBody" rows="10"></textarea>
   @if ($errors->has('body'))
       <span class="error">
           {{ $errors->first('body') }}
       </span>
   @endif
</div>

Зверніть увагу, що ми використовуємо, @if ($errors->has('title'))щоб перевірити, чи має поле "title" помилку перевірки. Якщо в цьому полі є помилка, ми друкуємо його за допомогою {{ $errors->first('title') }}. Та сама логіка, яку ми застосовували для поля "тіло". Погляньте на знімок екрана цього типу нижче.

Ми сподіваємось, ви розумієте, як застосувати перевірку Laravel у своїй заявці. Будь ласка, поділіться своїми думками в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі