I hava a modal within a blade view(criteria.blade.php and i want this modal when triggered and filled to call the function with a component(Criteria.php) which sends data to the database but the function saveCriteria() is not being called and unfortunately the database is not being populated with the new data. Please help me out
//criterias.blade.php
"
<flux:modal name="add-criteria" class="md:w-96">
<flux:heading size="lg" class="text-sky-600">Add Criteria</flux:heading>
<flux:text class="mt-2">Add New Criteria for Assessment</flux:text>
<flux:input
label="Criteria"
placeholder="Criteria"
wire:model="criteria"
/>
@error('criteria') <p class="text-red-500 text-sm">{{ $message }}</p> @enderror
<flux:input
label="Marks"
type="number"
wire:model="marks"
/>
@error('marks') <p class="text-red-500 text-sm">{{ $message }}</p> @enderror
<div class="flex">
<flux:spacer />
<flux:button type="submit" wire:click="saveCriteria" variant="primary" color="sky">Add Criteria</flux:button>
</div>
</div>
</flux:modal>
//Criterias.php
"<?php
namespace App\Livewire\Admin;
use Livewire\Component;
use App\Models\AssessmentCategory;
class Criterias extends Component
{
public $criterias;
public function render()
{
return view('livewire.admin.criterias');
}
public function mount(){
$this->criterias=AssessmentCategory::all();
}
public $criteria;
public $marks;
public function saveCriteria()
{
$validated=$this->validate([
'criteria'=>'required|max:255',
'marks'=>'required|max:2',
]);
AssessmentCategory::create($validated);
$this->reset();
}
}
"