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

Директива disabled

Директива disabled в Laravel Blade предназначена для условного добавления атрибута disabled к HTML-элементам. Она особенно полезна для управления состоянием полей ввода, кнопок и других интерактивных элементов на основе данных из контроллера. В отличие от ручного добавления атрибута через тернарный оператор, директива предоставляет более чистый и понятный синтаксис.

Синтаксис

<input @disabled($condition) />

Директива принимает один параметр - условие, которое определяет, добавлять ли атрибут disabled к элементу. Если условие возвращает true, атрибут добавляется со значением disabled. Если условие возвращает false, атрибут не добавляется.

Пример

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

<form action="/submit" method="POST"> @csrf <input type="text" name="name" placeholder="Enter name" /> <button type="submit" @disabled(!$hasName)>Submit</button> </form>

Результат выполнения кода при $hasName равном false:

<form action="/submit" method="POST"> <input type="hidden" name="_token" value="..." /> <input type="text" name="name" placeholder="Enter name" /> <button type="submit" disabled>Submit</button> </form>

Результат выполнения кода при $hasName равном true:

<form action="/submit" method="POST"> <input type="hidden" name="_token" value="..." /> <input type="text" name="name" placeholder="Enter name" /> <button type="submit">Submit</button> </form>

Пример

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

<div> <label for="email">Email address</label> <input type="email" id="email" name="email" value="{{ $user->email }}" @disabled(!Auth::check()) /> </div>

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

<div> <label for="email">Email address</label> <input type="email" id="email" name="email" value="user@example.com" /> </div>

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

<div> <label for="email">Email address</label> <input type="email" id="email" name="email" value="user@example.com" disabled /> </div>

Пример

Используем директиву disabled для управления состоянием нескольких элементов в зависимости от роли пользователя:

@php $isAdmin = Auth::user()->role === 'admin'; $isActive = $settings->status === 'active'; @endphp <div> <input type="text" name="username" @disabled(!$isAdmin) /> <select name="status" @disabled(!$isActive || !$isAdmin)> <option value="active">Active</option> <option value="inactive">Inactive</option> </select> <button type="submit" @disabled(!$isAdmin)>Save settings</button> </div>

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

<div> <input type="text" name="username" disabled /> <select name="status" disabled> <option value="active">Active</option> <option value="inactive">Inactive</option> </select> <button type="submit" disabled>Save settings</button> </div>

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

  • директива checked,
    которая управляет атрибутом checked для полей ввода
  • директива selected,
    которая управляет атрибутом selected для выпадающих списков
  • директива required,
    которая управляет атрибутом required для полей формы
  • директива readonly,
    которая управляет атрибутом readonly для полей ввода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить