Captcha is the most used technique for preventing spam in form submission. The Laravel Simple Captcha package will help you to prevent spam form submission. It's a really simple and lightweight Laravel package for captcha.
composer require haruncpi/laravel-simple-captcha
Use the getCaptchaBox
method, In the form where you need to add captcha.
{!!getCaptchaBox()!!}
Optional: You can change the captcha answer input box name. By default, it is _answer
{!!getCaptchaBox('txtAnswer')!!}
Example
<form action="" method="POST">
@csrf
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
<label for="email">E-mail</label>
<input type="text" class="form-control">
</div>
<div class="form-group">
{!!getCaptchaBox()!!}
</div>
<button class="btn btn-sm btn-default">Submit</button>
</form>
Custom Captcha Box
For adjusting the captcha box in your markup, you can make the captcha box using the getCaptchaQuestion
method.
<p>Captcha</p>
<input name="_answer" type="number">
Use simple_captcha
validation rules where you handle the request.
public function handleForm(Request $request)
{
$request->validate([ '_answer' => 'required | simple_captcha' ]);
}
Done! our simple captcha is now ready to use.