Laravel – 验证码(captcha)

文章描述:

laravel8 验证码包使用方法

打开packagist.org查找 laravel captcha,找到mews/captcha ,根据packagist上的使用方法一步步来实现验证码的安装。

composer

composer require mews/captcha

注册providers (config/app.php),在这个数组中的最后追加如下代码:

Mews\Captcha\CaptchaServiceProvider::class,

注册aliases (config/app.php),在这个数组中的:

'Cache' => Illuminate\Support\Facades\Cache::class,

下面增加

'Captcha' => Mews\Captcha\Facades\Captcha::class,

生成配置文件,在Composer命令行中输入如下命令:

php artisan vendor:publish

进入config/captcha.php文件,修改default数组 可以对验证码进行样式、数量、大小上的修改。

'default'   => [
    'length'    => 5,
    'width'     => 100,
    'height'    => 34,
    'quality'   => 90,
],

 

页面中使用

<div class="row">
            <input type="text" name="captcha" id="captcha" placeholder="captcha" value="" class="@error('captcha') is-invalid @enderror">
            <img src="{{captcha_src()}}" style="cursor: pointer" onclick="this.src='{{captcha_src()}}'+Math.random()">
            @error('captcha')
            <div class="alert alert-danger">{{$message}}</div>
            @enderror
</div>

重写validateLogin方法:

public function Test1(Request $request){
        $data = $request->all();
        $this->validate($request,[
            'captcha' => 'required|captcha',
        ]);
        if(!captcha_check($data['captcha'])){
            return Response()->json(['code' => 201, 'msg' => '验证码有误']);
        }
}

 

validation.captcha修改方式,对应的validation语言包添加

'captcha' => ':attribute 验证码不匹配',

 

发布时间:2023/03/15

发表评论