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

Правило in

Правило in используется для валидации входящих данных и проверяет, что значение поля присутствует в указанном списке. Оно применяется в массиве правил валидации вместе с другими правилами. Первым параметром передаётся список допустимых значений через запятую. Если значение не найдено в списке, валидация не проходит.

Синтаксис

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $rules = [ 'field' => 'in:value1,value2,value3', ]; ?>

Пример

Давайте провалидируем поле 'status' на допустимые значения:

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $data = ['status' => 'published']; $rules = [ 'status' => 'in:draft,published,archived', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $res = $validator->errors()->all(); } else { $res = 'Validation passed'; } echo json_encode($res); ?>

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

"Validation passed"

Пример

Если значение не входит в список, валидация не проходит:

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $data = ['role' => 'admin']; $rules = [ 'role' => 'in:user,moderator,manager', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $res = $validator->errors()->all(); } else { $res = 'Validation passed'; } echo json_encode($res); ?>

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

["The selected role is invalid."]

Пример

Использование правила in с числовыми значениями:

<?php use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; $data = ['priority' => 2]; $rules = [ 'priority' => 'in:1,2,3,4,5', ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $res = $validator->errors()->all(); } else { $res = 'Validation passed'; } echo json_encode($res); ?>

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

"Validation passed"

Пример

Использование правила in в FormRequest:

<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class ArticleRequest extends FormRequest { public function authorize() { return true; } public function rules() { return [ 'status' => 'required|in:draft,published,archived', 'type' => 'in:news,blog,review', ]; } } ?>

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

  • правило not_in,
    которое проверяет, что значение не входит в список
  • правило required,
    которое требует обязательного заполнения поля
  • правило enum,
    которое проверяет значение на соответствие enum
  • метод Rule::in,
    который предоставляет объектный способ записи правила
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить