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' => '两次密码不一致,请重试'
];
}
}
关于 LearnKu
在这里写不太合适。这里的话你可以验证一下验证码是否是你要求的长度。是否正确需要到相应的控制器逻辑里面完成。
@zhuzhichao 写到控制器里感觉怪怪的, 不想写那.... :sweat:
@超人爷爷 你可以写
rules方法里。@zhuzhichao 能给个demo吗, 在rules里怎么获取session和传入的验证码做比较。
@超人爷爷
异常的处理可以参考 https://phphub.org/topics/2460
你可以自行构建验证规则,这样是最 native 的方式。 参见 http://learnku.com/docs/laravel/5.1/valida...
@zhuzhichao :ok_hand: 多谢, 我试下。
您这里是怎么解决得,我现在也卡到这里了,详情求你帮忙