laravel5.4表单验证的问题,谢谢大家!

我自定义了个功能,就是防止IP重复注册,但是在表单验证的时候提交页面没有效果,请问哪里错了?

protected function validator(array $data)
    {
        $ip = DB::table('users')->whereRaw('ip = ? and created_at > ?', [get_client_ip(), Carbon::now()->subMinutes(60)])->count();
        $data = array_add($data,'ip',(string)$ip);
        return Validator ::make($data, [
            'name'     => 'required|string|max:255',
            'email'    => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'captcha'  => 'required|captcha',
            'ip'       => 'required|same:0',
        ], [
            'captcha.required' => '请输入验证码!',
            'captcha.captcha'  => '验证码错误',
            "ip.same"      => "同一IP在60分钟内无法再次注册",
        ]);
    }

追加的IP字段假如不等于0的话就提示错误,等于0的时候就默认通过验证.

温温酱
浏览 368回答 2
2回答

MYYA

你建一张表, 注册成功之后存入ip。 下次注册的时候检测一下60分钟内是否已经注册, 如果没有就可以注册。
打开App,查看更多内容
随时随地看视频慕课网APP