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

Директива wire:blur

Директива wire:blur вешается на HTML-элемент и вызывает указанный метод компонента при потере фокуса. В значение передаётся имя публичного метода. После вызова Livewire обновляет шаблон компонента. Директива особенно полезна для валидации полей ввода или выполнения действий после завершения редактирования.

Синтаксис

<input wire:blur="methodName">

Пример

Давайте выведем сообщение при потере фокуса на поле ввода:

<?php namespace AppLivewire; use LivewireComponent; class Message extends Component { public $text = ''; public $message = ''; public function showMessage() { $this->message = 'Field lost focus'; } public function render() { return view('livewire.message'); } } ?>
<input wire:blur="showMessage" type="text" placeholder="Type something"> <p>{{ $message }}</p>

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

<input type="text" placeholder="Type something"> <p>Field lost focus</p>

Пример

Давайте передадим в метод параметр с id элемента:

<?php namespace AppLivewire; use LivewireComponent; class Tracker extends Component { public $inputId = ''; public function trackBlur($id) { $this->inputId = $id; } public function render() { return view('livewire.tracker'); } } ?>
<input wire:blur="trackBlur('input1')" id="input1" type="text" placeholder="Field 1"> <input wire:blur="trackBlur('input2')" id="input2" type="text" placeholder="Field 2"> <p>Last blurred field: {{ $inputId }}</p>

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

<input id="input1" type="text" placeholder="Field 1"> <input id="input2" type="text" placeholder="Field 2"> <p>Last blurred field: input2</p>

Пример

Давайте выполним валидацию поля при потере фокуса:

<?php namespace AppLivewire; use LivewireComponent; class Validator extends Component { public $email = ''; public $error = ''; public function validateEmail() { if (!filter_var($this->email, FILTER_VALIDATE_EMAIL)) { $this->error = 'Invalid email address'; } else { $this->error = ''; } } public function render() { return view('livewire.validator'); } } ?>
<input wire:blur="validateEmail" wire:model="email" type="email" placeholder="Enter email"> @if ($error) <p style="color: red;">{{ $error }}</p> @endif

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

<input type="email" placeholder="Enter email"> <p style="color: red;">Invalid email address</p>

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

  • директиву wire:focus,
    которая вызывает метод при получении фокуса элементом
  • директиву wire:change,
    которая вызывает метод при изменении значения поля
  • директиву wire:model.blur,
    которая синхронизирует данные с полем при потере фокуса
  • директиву wire:keydown,
    которая вызывает метод при нажатии клавиши
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить