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

Директива readonly

Директива readonly в Laravel Blade представляет собой удобную сокращённую запись для добавления атрибута readonly к элементам форм. Она часто применяется совместно с директивами old и checked для упрощения работы с формами. Директива автоматически добавляет атрибут readonly, если переданное условие истинно.

Синтаксис

<input type="text" @readonly($condition)>

Пример

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

<form method="POST" action="/update"> @csrf <input type="text" name="username" value="JohnDoe" @readonly(!auth()->user()->isAdmin)> <button type="submit">Update</button> </form>

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

<form method="POST" action="/update"> <input type="hidden" name="_token" value="..."> <input type="text" name="username" value="JohnDoe" readonly> <button type="submit">Update</button> </form>

Пример

Используем директиву readonly с проверкой через isset для отключения поля редактирования:

@php $isLocked = isset($user) && $user->is_locked; @endphp <input type="text" name="email" value="{{ $user->email ?? '' }}" @readonly($isLocked)>

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

<input type="text" name="email" value="john@example.com" readonly>

Пример

Директива readonly может быть использована с элементами textarea и select:

<form method="POST" action="/posts/{{ $post->id }}"> @csrf @method('PUT') <textarea name="content" @readonly($post->is_published)>{{ $post->content }}</textarea> <select name="category_id" @readonly($post->is_published)"> @foreach ($categories as $category) <option value="{{ $category->id }}" @selected($category->id === $post->category_id)> {{ $category->name }} </option> @endforeach </select> </form>

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

<form method="POST" action="/posts/1"> <input type="hidden" name="_token" value="..."> <input type="hidden" name="_method" value="PUT"> <textarea name="content" readonly>Article content</textarea> <select name="category_id" readonly> <option value="1" selected>News</option> <option value="2">Blog</option> </select> </form>

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

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