Обязательность по условию в Filament
Давайте сделаем поле обязательным по условию. Правило включается не всегда, а только когда связанный флажок отмечен. Проверим на /admin/posts/create.
Метод required, как и
hidden, может принимать
замыкание с Get.
Живой чекбокс публикации
меняет обязательность слага
без перезагрузки страницы.
Зададим правило для слага
в PostForm.php:
<?php
namespace App\Filament\Resources\Posts\Schemas;
use Filament\Forms\Components\Checkbox;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Schemas\Schema;
class PostForm
{
public static function configure(Schema $schema): Schema
{
return $schema->components([
Checkbox::make('is_published')
->live(),
TextInput::make('slug')
->required(fn (Get $get): bool => (bool) $get('is_published')),
]);
}
}
?>
Сделайте табельный номер обязательным только у активного работника.