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

Метод in

Метод in класса Rule применяется для валидации полей формы и проверяет, что значение поля содержится в заданном массиве допустимых значений. Первым параметром передаётся массив значений, с которыми должно совпадать значение поля. Если значение не найдено в массиве, валидация не проходит.

Синтаксис

<?php use Illuminate\Validation\Rule; $rule = Rule::in(['value1', 'value2', 'value3']); ?>

Пример

Давайте проверим, что значение поля 'status' может быть только 'published' или 'draft':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Validation\Rule; use Illuminate\Validation\ValidationException; class ArticleController extends Controller { public function store(Request $request) { $request->validate([ 'status' => ['required', Rule::in(['published', 'draft'])], 'title' => ['required', 'string'], ]); return response()->json(['message' => 'Article created']); } } ?>

Пример

Давайте проверим, что значение поля 'role' является допустимой ролью пользователя:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Validation\Rule; class UserController extends Controller { public function update(Request $request) { $validated = $request->validate([ 'role' => [ 'required', Rule::in(['admin', 'moderator', 'user']), ], 'email' => ['required', 'email'], ]); // Update user return response()->json(['success' => true]); } } ?>

Пример

Давайте используем in в форме запроса для валидации поля 'payment_method':

<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class OrderRequest extends FormRequest { public function rules(): array { return [ 'payment_method' => ['required', Rule::in(['card', 'cash', 'bank'])], 'amount' => ['required', 'numeric', 'min:1'], ]; } } ?>

Пример

Давайте используем динамический массив допустимых значений для валидации поля 'category_id':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Validation\Rule; use App\Models\Category; class ProductController extends Controller { public function store(Request $request) { $categoryIds = Category::pluck('id')->toArray(); $request->validate([ 'category_id' => ['required', Rule::in($categoryIds)], 'name' => ['required', 'string'], 'price' => ['required', 'numeric'], ]); return response()->json(['message' => 'Product created']); } } ?>

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

"Product created"

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

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