2016-09-20 152 views
-1

在我的用戶表中,我有一個角色列其值Teacher和Student。如果用戶角色老師,我想插入數據。否則,發出一條消息「僅限老師」。 這裏是我的控制器:如何驗證laravel中的列5.2

$validator = Validator::make($request->all(), [ 
       'title' => 'required|exists:users,role==[Teacher]', 
       ]); 
       if ($validator->fails()) { 

       Flash::success('Only for Teacher'); 
       return redirect(route('works',['class_id'=>$class_id])); 
       }else{ 
       $works = new assainments(); 
       $works -> title = $text; 
       //$works -> file = $fileName; 
       $works -> class_id = $class_id; 
       $works -> users_id = Auth::user()->id; 
       $works -> save(); 
       Flash::success('Your works has been posted'); 
       return redirect(route('works',['class_id'=>$class_id])); 

但它不工作。它是隻顯示「只有教師」錯誤消息

回答

-1

laravel 5.2

exists驗證規則的工作給定的表,列和額外的where條件。查看更多定義: https://laravel.com/docs/5.2/validation#rule-exists

但是你可以通過檢查,如果條件解決這個問題的另一種方式:

if(\Auth::user()->role == 'Student') 
{ 
    Flash::success('Only for Teacher'); 
    return redirect(route('works',['class_id'=>$class_id])); 
}