My project was written with Livewire
For Google Recaptcha, I use https://github.com/biscolab/laravel-recaptcha
This is the code of the controller:
class ContactForm extends Component
{
public $name;
public $email;
public $phone;
public $message;
protected $rules = [
'name' => 'required',
'email' => 'required|email',
'phone' => 'required',
'message' => 'required',
'g-recaptcha-response' => 'recaptcha',
];
public function render()
{
return view('livewire.contact-form');
}
public function save(){
$this->validate();
Contact::create([
'name' => $this->name,
'email' => $this->email,
'phone' => $this->phone,
'message' => $this->message,
]);
session()->flash('status', 'Thanks!');
}
}
This HTML form code:
<form id="contact_form" wire:submit="save" method="post" id="dreamit-form" class="@if ( Config::get('app.locale') == 'fa') text-right @endif">
@csrf
<div class="row">
<div class="col-lg-6">
<div class="form_box mb-30">
<input type="text" wire:model="name" placeholder="{{ __('messages.contactPage_form_input_fullname') }}" >
@error('name') <span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="col-lg-6">
<div class="form_box mb-30">
<input type="email" wire:model="email" placeholder="{{ __('messages.contactPage_form_input_email') }}" >
@error('email') <span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="col-lg-6">
<div class="form_box mb-30">
<input type="text" wire:model="phone" placeholder="{{ __('messages.contactPage_form_input_phone') }}" >
@error('phone') <span class="text-danger">{{ $message }}</span> @enderror
</div>
</div>
<div class="col-lg-12">
<div class="form_box mb-30">
<textarea wire:model="message" id="message" cols="30" rows="10" placeholder="{{ __('messages.contactPage_form_input_message') }}" ></textarea>
@error('message') <span class="text-danger">{{ $message }}</span> @enderror
</div>
{!! htmlFormSnippet() !!}
<div class="quote_btn">
<button class="btn" type="submit">{{ __('messages.contactPage_form_btn_submit') }}</button>
</div>
</div>
</div>
</form>
And this error that I receive after registering the form:
No property found for validation: [g-recaptcha-response]
please guide me