request 里怎么验证提交的验证码?

控制器里生成了个 '1234' 这样的验证码, 存到了session里 $request->session()->put('code', '1234),
前台提交了一个用户输入的验证码, 我想在request里实现验证,该怎么写?

下面是我的request.php



namespace App\Http\Requests;

use App\Http\Requests\Request;

class UserStoreRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'mobile' => 'sometimes|required|mobile',
            'password' => 'sometimes|required|confirmed'
        ];
    }

    /**
     * 自定义错误信息
     *
     * @see \Illuminate\Foundation\Http\FormRequest::messages()
     */
    public function messages()
    {
        return [
            'mobile.required' => '请填写手机号',
            'mobile.mobile' => '手机格式有误',
            'password.required' => '请填写密码',
            'password.confirmed' => '两次密码不一致,请重试'
        ];
    }
}

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8

在这里写不太合适。这里的话你可以验证一下验证码是否是你要求的长度。是否正确需要到相应的控制器逻辑里面完成。

7年前 评论

@zhuzhichao 写到控制器里感觉怪怪的, 不想写那.... :sweat:

7年前 评论

@zhuzhichao 能给个demo吗, 在rules里怎么获取session和传入的验证码做比较。

7年前 评论

@超人爷爷

if( $this->input($codeKey) !== Session::get($codeKey) ) {
    #抛出异常
}

异常的处理可以参考 https://phphub.org/topics/2460

7年前 评论

你可以自行构建验证规则,这样是最 native 的方式。 参见 http://learnku.com/docs/laravel/5.1/valida...

7年前 评论

@zhuzhichao :ok_hand: 多谢, 我试下。

7年前 评论

您这里是怎么解决得,我现在也卡到这里了,详情求你帮忙

5年前 评论
softer 3年前

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