2015-04-30 55 views
0

我使用驗證回調像這樣經過:Laravel - 使用驗證變量回調

$user = DB::table('password_resets')->where('token', '=', $token)->first(); 

    $validator->after(function($validator){ 

     if(!$user){ 
      $validator->errors->add(['user', 'Uživatel pro obnovu hesla nebyl nalezen.']); 
     } 

     if(!$errors->has() and (time() - $user->time) > 86400){ 
      $validator->errors->add(['time', 'Od zažádání o resetování hesla uplynulo 24 hodin.']); 
     } 
    }); 

的$用戶變量可以回調中被設置好的,但對於$令牌,這是路線參數。是否有機會將某些東西傳遞給回調?

回答

4

是的,你使用use關鍵字來傳遞變量到回調。

$validator->after(function($validator) use ($token) 
{ 
    echo $token; 
    if(!$user){ 
     $validator->errors->add(['user', 'Uživatel pro obnovu hesla nebyl nalezen.']); 
    } 

    if(!$errors->has() and (time() - $user->time) > 86400){ 
     $validator->errors->add(['time', 'Od zažádání o resetování hesla uplynulo 24 hodin.']); 
    } 
});