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

Метод errors

Метод errors применяется к объекту валидатора и возвращает коллекцию сообщений об ошибках. Он доступен после выполнения валидации и позволяет получить все ошибки в виде объекта MessageBag. Этот метод удобно использовать для вывода списка ошибок пользователю или для проверки наличия ошибок в конкретном поле.

Синтаксис

<?php $validator->errors(); ?>

Пример

Давайте создадим валидатор для проверки данных и получим все ошибки:

<?php use Illuminate\Support\Facades\Validator; $data = [ 'name' => '', 'email' => 'invalid-email', 'age' => 15, ]; $rules = [ 'name' => 'required|string|min:3', 'email' => 'required|email', 'age' => 'required|integer|min:18', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $errors = $validator->errors(); foreach ($errors->all() as $error) { echo $error . "\n"; } } ?>

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

"The name field is required." "The email must be a valid email address." "The age must be at least 18."

Пример

Давайте получим ошибки для конкретного поля с помощью метода get:

<?php use Illuminate\Support\Facades\Validator; $data = [ 'username' => 'a', 'password' => '123', ]; $rules = [ 'username' => 'required|string|min:5', 'password' => 'required|string|min:8', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $errors = $validator->errors(); // Получаем ошибки для поля username $usernameErrors = $errors->get('username'); foreach ($usernameErrors as $error) { echo $error . "\n"; } } ?>

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

"The username must be at least 5 characters."

Пример

Давайте проверим наличие ошибок в конкретном поле с помощью метода has:

<?php use Illuminate\Support\Facades\Validator; $data = [ 'email' => 'test@example.com', 'phone' => '', ]; $rules = [ 'email' => 'required|email', 'phone' => 'required|string|min:10', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $errors = $validator->errors(); if ($errors->has('phone')) { echo "Phone field has errors\n"; } if (!$errors->has('email')) { echo "Email field is valid\n"; } } ?>

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

"Phone field has errors" "Email field is valid"

Пример

Давайте получим первую ошибку для поля с помощью метода first:

<?php use Illuminate\Support\Facades\Validator; $data = [ 'name' => '', 'description' => 'Short', ]; $rules = [ 'name' => 'required|string|max:50', 'description' => 'required|string|min:10', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $errors = $validator->errors(); $firstError = $errors->first('description'); echo $firstError . "\n"; } ?>

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

"The description must be at least 10 characters."

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

  • метод fails,
    который проверяет наличие ошибок валидации
  • метод passes,
    который проверяет успешность валидации
  • класс Validator,
    который содержит методы для валидации данных
  • метод validated,
    который возвращает только прошедшие валидацию данные
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить