2016-04-17 5 views
0

Я использую Laravel 5,2,
я добавил ввод кода подтверждения в регистрационной форме,
проверочный код был сохранен в сессии при принятии его,
вопрос: Как написать правила проверки кода проверки в функции validator,Как проверить сеанс в Laravel 5.2?

AuthController.php

protected function validator(array $data) 
{ 
    $verification_code_session = $request->session()->get('verification_code', ''); 
    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'verification_code' => '',// How to write the validation rule? 
    ]); 
} 

Добавить:

добавить аргумент: Request $request так:

protected function validator(array $data,Request $request) 
{ 
    $verification_code_session = $request->session()->get('verification_code', ''); 

    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'verification_code' => 'required|in:' . $verification_code_session 
    ]); 

ошибка:

FatalThrowableError in AuthController.php line 56: 
Type error: Argument 2 passed to App\Http\Controllers\Auth\AuthController::validator() must be an instance of Illuminate\Http\Request, none given, called in D:\wnmp\www\laravel-entrust\vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php on line 69 

Где я должен использовать $this?

ответ

3

Может быть, вы могли бы сделать это с помощью in шаблона:

protected function validator(array $data) 
{ 
    $verification_code_session = \Request::session()->get('verification_code', ''); 

    return Validator::make($data, [ 
     'name' => 'required|max:255', 
     'email' => 'required|email|max:255|unique:users', 
     'password' => 'required|confirmed|min:6', 
     'verification_code' => 'required|in:' . $verification_code_session 
    ]); 
} 
+0

Существует ошибка: 'ErrorException в AuthController.php строке 58: Неопределенная переменная: request' .Как добавить аргумент/s? – zwl1619

+0

Это зависит от контекста. Если вы используете FormRequest, используйте $ this, добавьте Request Request в аргументы функции validator – soywod

+0

, где я могу использовать '$ this'? (Я добавил код) – zwl1619

Смежные вопросы