elic-dev/laravel-math-captcha

为Laravel表单验证提供的一个简单的数学验证码。

1.1.1 2022-07-25 08:24 UTC

This package is not auto-updated.

Last update: 2024-09-15 20:35:49 UTC


README

一个简单的数学问题(+-*)用于验证用户输入。

安装

composer require elic-dev/laravel-math-captcha

设置Laravel > 5.5

此包支持Laravel包自动发现。

设置Laravel <= 5.4

您可以将ServiceProvider添加到app/config/app.php中的providers数组中。

ElicDev\MathCaptcha\MathCaptchaServiceProvider::class,

用法

此包仅返回问题和输入。您必须将其放置在您的标签和表单类中。

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

以Bootstrap为例显示它

<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>

看起来像

MathCaptcha Bootstrap

验证

'mathcaptcha' => 'required|mathcaptcha'添加到规则数组中。

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

将相应的翻译字符串添加到您的lang/validation.php文件中。

重置

此包不会为每个请求生成一个新的数学问题。一旦表单提交成功且没有验证错误,您可以通过重置库来强制生成新的问题。

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

配置

操作数、最小值、最大值

您可以调整可用的操作数(+-*)和最小或最大随机值。一些用户可能会在更复杂的数学操作上遇到困难。

php artisan vendor:publish --provider="ElicDev\MathCaptcha\MathCaptchaServiceProvider" --tag=config

以文本形式显示

您可以将数学问题以文本形式显示(例如,“四加五”)。您可以在配置文件中调整设置。这需要翻译和语言文件。此包附带了一些语言。

php artisan vendor:publish --provider="ElicDev\MathCaptcha\MathCaptchaServiceProvider" --tag=lang