РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
605 of 1392 menu

Правило present

Правило present применяется при валидации данных и проверяет, присутствует ли указанное поле в массиве входных данных. При этом неважно, какое значение имеет поле - пустая строка, null, 0 или любое другое значение. Правило вернёт ошибку только в том случае, если поле отсутствует в запросе.

Синтаксис

<?php 'field' => 'present' ?>

Пример

Давайте проверим, что поле 'name' присутствует в запросе:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function store(Request $request) { $validated = $request->validate([ 'name' => 'present' ]); return response()->json(['message' => 'Validation passed']); } } ?>

При отправке запроса с полем 'name' валидация будет пройдена:

POST /users { "name": "" }

Результат выполнения кода:

{"message": "Validation passed"}

Пример

Правило present часто используется вместе с другими правилами для проверки значений полей, которые обязательно должны присутствовать в запросе:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function update(Request $request) { $validated = $request->validate([ 'title' => 'present|string|max:255', 'content' => 'present|string' ]); return response()->json(['message' => 'Article updated']); } } ?>

Если поле 'content' будет отсутствовать в запросе:

POST /articles { "title": "New article" }

Результат выполнения кода:

{"message": "The content field is required."}

Пример

Рассмотрим разницу между present и required. Правило present проверяет только наличие ключа, а required проверяет наличие ключа и то, что его значение не пустое:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ProfileController extends Controller { public function update(Request $request) { $validated = $request->validate([ 'email' => 'present|email', 'phone' => 'required|string' ]); return response()->json(['message' => 'Profile updated']); } } ?>

При отправке запроса с полем 'email', имеющим пустое значение:

POST /profile { "email": "", "phone": "123-456-789" }

Результат выполнения кода:

{"message": "The email field must be a valid email address."}

Смотрите также

  • правило required,
    которое проверяет, что поле присутствует и не пустое
  • правило nullable,
    которое разрешает полю иметь значение null
  • правило filled,
    которое проверяет, что поле не пустое, если оно присутствует
  • правило missing,
    которое проверяет, что поле отсутствует в запросе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить