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

Метод validate

Метод validate применяется к экземпляру класса Validator и выполняет проверку переданных данных по указанным правилам. Первым параметром метод принимает массив данных для проверки, вторым - массив правил валидации, третьим - массив пользовательских сообщений об ошибках, четвертым - массив пользовательских атрибутов. В случае успешной валидации метод возвращает массив проверенных данных.

Синтаксис

<?php $validator->validate($data, $rules, $messages, $attributes); ?>

Пример

Давайте проверим данные из запроса на наличие имени и email:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class UserController extends Controller { public function store(Request $request) { $data = $request->all(); $rules = [ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users', ]; $validator = Validator::make($data, $rules); $res = $validator->validate(); return $res; } } ?>

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

["name" => "John Doe", "email" => "john@example.com"]

Пример

Давайте используем пользовательские сообщения об ошибках:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class ArticleController extends Controller { public function update(Request $request) { $data = $request->all(); $rules = [ 'title' => 'required|min:5', 'body' => 'required|min:10', ]; $messages = [ 'title.required' => 'Title is required', 'title.min' => 'Title must be at least 5 characters', 'body.required' => 'Body is required', 'body.min' => 'Body must be at least 10 characters', ]; $validator = Validator::make($data, $rules); $res = $validator->validate($data, $rules, $messages); return $res; } } ?>

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

["title" => "Laravel Validation", "body" => "This is a detailed article about validation"]

Пример

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

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesValidator; class ProfileController extends Controller { public function store(Request $request) { $data = $request->all(); $rules = [ 'user_name' => 'required|string|max:50', 'user_email' => 'required|email', ]; $attributes = [ 'user_name' => 'Username', 'user_email' => 'Email address', ]; $validator = Validator::make($data, $rules); $res = $validator->validate($data, $rules, [], $attributes); return $res; } } ?>

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

["user_name" => "johndoe", "user_email" => "john@domain.com"]

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

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