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

Метод passes

Метод passes класса Validator применяется для проверки успешности валидации данных. Он возвращает булево значение: true - если все правила валидации выполнены, и false - если есть ошибки. Метод часто используется в условных конструкциях для проверки результатов валидации перед выполнением дальнейших действий.

Синтаксис

<?php use Illuminate\Support\Facades\Validator; $validator = Validator::make($data, $rules); $res = $validator->passes(); ?>

Метод не принимает параметров и возвращает значение типа bool.

Пример

Давайте проверим, прошла ли валидация данных формы регистрации:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class UserController extends Controller { public function register(Request $request) { $data = $request->all(); $rules = [ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users', 'password' => 'required|min:8', ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { echo "Registration successful!"; } else { echo "Validation failed!"; } } } ?>

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

"Registration successful!"

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

"Validation failed!"

Пример

Метод passes удобно использовать для проверки выполнения сложных условий валидации перед сохранением модели:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use App\Models\Article; class ArticleController extends Controller { public function store(Request $request) { $data = $request->only(['title', 'content', 'status']); $rules = [ 'title' => 'required|string|max:200', 'content' => 'required|string|min:10', 'status' => 'in:draft,published', ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { $article = Article::create($data); echo "Article created: " . $article->title; } else { echo "Article creation failed!"; } } } ?>

Результат выполнения кода при успешной валидации:

"Article created: Laravel Basics"

Результат выполнения кода при ошибках валидации:

"Article creation failed!"

Пример

Использование метода passes для проверки валидности данных перед выполнением нескольких действий:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class ProductController extends Controller { public function validateProduct(Request $request) { $data = $request->all(); $rules = [ 'name' => 'required|string|max:100', 'price' => 'required|numeric|min:0', 'quantity' => 'required|integer|min:1', ]; $validator = Validator::make($data, $rules); if ($validator->passes()) { echo "Product data is valid. Proceed with saving."; } else { $errors = $validator->errors()->all(); echo "Invalid data. Errors: " . implode(", ", $errors); } } } ?>

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

"Product data is valid. Proceed with saving."

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

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