laravel 5.5 控制器中自定义表单验证失败

LoginController对vender中的登陆验证进行重写但是自定义表单验证不起作用(注释代码),错误信息两个都不起作用,只能改validate.php中的定义吗?

表单验证还没有尝试

顺便抱下大腿 验证码规则怎么定义?我用的accepted

谢谢

    protected function validateLogin(Request $request)
    {
        $messages = [
            'email.required'     => '邮箱不能为空',
            'password.required'  => '密码不能为空',
            'captcha.required'   => '验证码验证失败',
        ];

//        $validator = Validator::make($request->all(), [
//            $this->username() => 'required|string',
//            'password'        => 'required|string',
//            'captcha'         => 'required|accepted',
//        ], $messages);

        $this->validate($request, [
            $this->username() => 'required|string',
            'password'        => 'required|string',
            'captcha'         => 'required|accepted',
        ]);

        exit;
    }
波斯汪
浏览 481回答 2
2回答

茅侃侃

不要去到vendor目录修改源码,直接在App\Http\Auth\LoginController下重写validateLogin方法即可,我的是laravel5.5版本不同可能会有略微差别。至于验证码的,当然力荐mews/captcha在laravel中使用起来简直不要太简单。(多余的代码就不写了) $this->validate($request, [ 'captcha' => 'required|captcha', ]);

慕妹3242003

楼上正解,个人建议,laravel框架写的比较开发,很多方法都可以继承重写
打开App,查看更多内容
随时随地看视频慕课网APP