鍍金池/ 問(wèn)答/PHP/ laravel 5.5 控制器中自定義表單驗(yàn)證失敗

laravel 5.5 控制器中自定義表單驗(yàn)證失敗

LoginController對(duì)vender中的登陸驗(yàn)證進(jìn)行重寫但是自定義表單驗(yàn)證不起作用(注釋代碼),錯(cuò)誤信息兩個(gè)都不起作用,只能改validate.php中的定義嗎?

表單驗(yàn)證還沒(méi)有嘗試

順便抱下大腿 驗(yàn)證碼規(guī)則怎么定義?我用的accepted

謝謝

    protected function validateLogin(Request $request)
    {
        $messages = [
            'email.required'     => '郵箱不能為空',
            'password.required'  => '密碼不能為空',
            'captcha.required'   => '驗(yàn)證碼驗(yàn)證失敗',
        ];

//        $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;
    }
回答
編輯回答
夢(mèng)一場(chǎng)

不要去到vendor目錄修改源碼,直接在App\Http\Auth\LoginController下重寫validateLogin方法即可,我的是laravel5.5版本不同可能會(huì)有略微差別。
至于驗(yàn)證碼的,當(dāng)然力薦mews/captcha
laravel中使用起來(lái)簡(jiǎn)直不要太簡(jiǎn)單。(多余的代碼就不寫了)

$this->validate($request, [
    'captcha' => 'required|captcha',
]);
2018年4月30日 11:00
編輯回答
鐧簞噯

樓上正解,個(gè)人建議,laravel框架寫的比較開發(fā),很多方法都可以繼承重寫

2017年10月31日 17:00