mews/captcha 验证码的验证一直不正确

HTML:

<input id="captcha"  class="form-control" name="captcha" required>
<img src="{!! captcha_src() !!}" style="cursor: pointer" onclick="this.src='{{captcha_src()}}'+Math.random()">

$.ajax({
        url: "/home/index/login",
        data: $('form[name="login"]').serialize(),

        type: "post",
        dataType: "json",
        success: function(ret) {

        }
});

PHP:

public function login(Request $request)
    {
        $this->validate($request, [
            'username' => ['required', 'string', 'max:255'],
            'password' => ['required', 'string', 'min:3'],
            'captcha' => ['required', 'captcha']
        ],[
            'captcha.required' => '验证码不能为空',
            'captcha.captcha' => '请输入正确的验证码',
        ]);
        $credentials = $request->only('username', 'password');
        if (auth('member')->attempt($credentials)) {
            return $this->success('成功');
        }
        return $this->error('失败');
    }

现在是验证码为空时能正确返回 “验证码不能为空” 的报错。
但是输入了验证码一直就是提示 “请输入正确的验证码”。
是不是session有问题?请问怎么调试呢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

是不是路由没有带上session的中间件呢?

4年前 评论
flashrick (楼主) 4年前
讨论数量: 3

是 session 的问题, 你用的 ajax, 哪里有 cookie, 也就不能像后端发送 session id.
mews 适应于表单提交形式的验证码, 如果用 ajax, 可以使用 gragwar/captcha

4年前 评论
flashrick (楼主) 4年前

是不是路由没有带上session的中间件呢?

4年前 评论
flashrick (楼主) 4年前

图片验证码 只是给人造成困扰,对于爬虫一点作用都没有

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!