techblog/app/Data/TagData.php
PeterChrz 75561faf25
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
initialize project and update gitignore
2026-03-19 09:35:42 -04:00

40 lines
No EOL
806 B
PHP

<?php
namespace App\Data;
use Livewire\Wireable;
use Spatie\LaravelData\Concerns\WireableData;
use Spatie\LaravelData\Data;
class TagData extends Data implements Wireable
{
use WireableData;
public function __construct(
public ?int $id,
public string $name,
) {
}
public static function blank(): self
{
return TagData::from([
'name' => '',
]);
}
public static function rules(): array
{
return [
'name' => ['required', 'string', 'max:64', 'unique:tags,name'],
];
}
public static function messages(): array
{
return [
'name.required' => __('The name field is required.'),
'name.unique' => __('The name has already been taken.'),
];
}
}