elic-dev / laravel-math-captcha by elic-dev

A simple math captcha for Laravel form validation.
36,892
12
2
Package Data
Maintainer Username: elic-dev
Maintainer Contact: m.lill@gmx.de (Matthias Lill)
Package Create Date: 2017-04-19
Package Last Update: 2022-07-25
Language: PHP
License: MIT
Last Refreshed: 2024-03-24 03:15:30
Package Statistics
Total Downloads: 36,892
Monthly Downloads: 809
Daily Downloads: 5
Total Stars: 12
Total Watchers: 2
Total Forks: 9
Total Open Issues: 2

Very simple math captcha for Laravel5

Installation

composer require elic-dev/laravel-math-captcha

Setup Laravel > 5.5

This package supports Laravel Package Auto-Discovery.

Setup Laravel <= 5.4

You can add the ServiceProvider to the providers array in app/config/app.php.

ElicDev\MathCaptcha\MathCaptchaServiceProvider::class,

Usage

This package only returns the question and the input. You have to position it within your labels and form classes.

{{ app('mathcaptcha')->label() }}
{!! app('mathcaptcha')->input() !!}

Display it wihtin Bootstrap as example:

<div class="form-group">
    <label for="mathgroup">Please solve the following math function: {{ app('mathcaptcha')->label() }}</label>
    {!! app('mathcaptcha')->input(['class' => 'form-control', 'id' => 'mathgroup']) !!}
    @if ($errors->has('mathcaptcha'))
        <span class="help-block">
            <strong>{{ $errors->first('mathcaptcha') }}</strong>
        </span>
    @endif
</div>

Looks like

MathCaptcha Bootstrap

Validation

Add 'mathcaptcha' => 'required|mathcaptcha' to rules array.

$this->validate($request, [
    'mathcaptcha' => 'required|mathcaptcha',
]);

Add corresponding translation string to your lang/validation.php files.

Reset

This package does not generate a new math question for each request. Once the form has been submited without validation erros you can reset the library to force generate a new question.

app('mathcaptcha')->reset();