Hello i have a livewire app and i dont know why but i have this error :
validation.required
instead of title is required ... or title is minimum 3 characters something like that
My code
#[Title('Create')]
class CapsuleCreate extends Component
{
use WithFileUploads;
public string $success = '';
#[Validate('required|string|min:3',)]
public $title;
#[Validate(['required', 'min:3'])]
public string $description;
#[Validate(['required'])]
public int $price;
#[Validate(['required', 'exists:categories,id'])]
public string $category;
#[Validate('required|in:' . Capsule::STATUS_DRAFT . ',' . Capsule::STATUS_PUBLISHED)]
public string $status;
public $categories;
public function store()
{
$this->validate();
try {
DB::beginTransaction();
$capsule = Auth::user()->capsules()->create([
'category_id' => $this->category,
'title' => $this->title,
'description' => $this->description,
'price' => $this->price,
'status' => $this->status,
]);
DB::commit();
} catch (\Exception $e) {
DB::rollBack();
dd($e->getMessage());
}
flash()->success('Capsule created successfully!');
$this->redirectRoute('capsules.index');
}
public function mount()
{
$this->categories = Category::all();
}
public function render()
{
return view('livewire.capsules.capsule-create');
}
}
and my blade view
<form wire:submit.prevent="store" enctype="multipart/form-data">
<input wire:model="title" id="title" type="text" autocomplete="title" class="block w-full " />
@error('title')
<small class="pl-0.5 text-red-500">{{ $message }}</small>
@enderror
<button type="submit" class="rounded-md bg-indigo-600">Save</button>
</form>
I dont know why livewire dont show my error properly !?
thanks you.