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