2.4. Формы

Поскольку формы являются основой большинства веб-приложений, Livewire предоставляет множество полезных утилит для их создания. От обработки простых элементов ввода до сложных функций, таких как валидация в реальном времени или загрузка файлов — Livewire предлагает простые и хорошо задокументированные инструменты, которые облегчат вашу работу и порадуют ваших пользователей.

Давайте начнём.

1. Отправка формы

Начнём с рассмотрения очень простой формы в компоненте CreatePost. Эта форма будет содержать два простых текстовых поля и кнопку отправки, а также некоторый код на серверной стороне для управления состоянием и отправкой формы:

<?php
 
namespace App\Livewire;
 
use Livewire\Component;
use App\Models\Post;
 
class CreatePost extends Component
{
public $title = '';
 
public $content = '';
 
public function save()
{
Post::create(
$this->only(['title', 'content'])
);
 
session()->flash('status', 'Post successfully updated.');
 
return $this->redirect('/posts');
}
 
public function render()
{
return view('livewire.create-post');
}
}
<form wire:submit="save">
<input type="text" wire:model="title">
 
<input type="text" wire:model="content">
 
<button type="submit">Save</button>
</form>