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

Функция validator

Функция validator используется для создания объекта валидатора для проверки данных. Первым параметром передаются данные для проверки, вторым - правила валидации, третьим - сообщения об ошибках, четвёртым - пользовательские названия атрибутов. Возвращает экземпляр класса IlluminateValidationValidator.

Синтаксис

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

Пример

Давайте проверим данные формы регистрации на наличие всех обязательных полей:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppHttpControllersController; 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|confirmed', ]; $validator = validator($data, $rules); if ($validator->fails()) { $res = $validator->errors()->all(); echo "Validation errors: "; print_r($res); return; } echo "User registered successfully!"; } } ?>

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

"Validation errors: Array ( [0] => The name field is required. [1] => The email field is required. [2] => The password field is required. )"

Пример

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

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppHttpControllersController; class ProfileController extends Controller { public function update(Request $request) { $data = [ 'age' => $request->input('age'), 'email' => $request->input('email'), ]; $rules = [ 'age' => 'required|integer|min:18|max:100', 'email' => 'required|email', ]; $messages = [ 'age.required' => 'Age is required.', 'age.min' => 'Age must be at least 18 years.', 'age.max' => 'Age must not exceed 100 years.', 'email.required' => 'Email address is required.', 'email.email' => 'Please provide a valid email address.', ]; $validator = validator($data, $rules, $messages); if ($validator->fails()) { $res = $validator->errors()->first(); echo "Error: " . $res; return; } echo "Profile updated successfully!"; } } ?>

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

"Error: Age must be at least 18 years."

Пример

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

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppHttpControllersController; class ProductController extends Controller { public function store(Request $request) { $data = [ 'product_name' => $request->input('product_name'), 'product_price' => $request->input('product_price'), 'product_description' => $request->input('product_description'), ]; $rules = [ 'product_name' => 'required|string|max:50', 'product_price' => 'required|numeric|min:0.01', 'product_description' => 'required|string|min:10', ]; $attributes = [ 'product_name' => 'Product Name', 'product_price' => 'Product Price', 'product_description' => 'Product Description', ]; $validator = validator($data, $rules, [], $attributes); if ($validator->fails()) { $res = $validator->errors()->all(); echo "Validation failed: "; print_r($res); return; } echo "Product created successfully!"; } } ?>

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

"Validation failed: Array ( [0] => The Product Description field is required. )"

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

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