多验证在Laravel 5.2中不起作用

时间:2016-09-10 16:52:46

标签: laravel-5.2

我想进行多重验证。我有两个表教室 join_class 教室表格有class_code字段 这是我的代码:

public function postJoinclass(Request $request)
   {
       $validator = Validator::make($request->all(), [
        'class_code' => 'required',
       ]);
        if ($validator->fails()) {
        return Redirect::back()
            ->withErrors($validator);
        }
        else{
               $class_code = $request->get('class_code');
               if($classroom = joinclass::where('class_code',$class_code)->first())
               {
                   Flash::message('You are already in this classroom');
                   return Redirect::route('joinclass');
                }else{
                       if($classroom = classroomModel::where('class_code','!',$class_code)->first())
                       {
                           Flash::message('Your class code is wrong!');
                           return Redirect::route('joinclass');
                       }else{
                         $class = new joinclass();
                         $class -> user_id = Auth::user()->id;
                         $class -> class_code = $request['class_code'];
                         $class -> save();
                         $class_code = $request->get('class_code');
                         $classroom = classroomModel::where('class_code',$class_code)->first();
                         var_dump($classroom->toArray());
                         return Redirect::route('class',['class_id'=>$classroom->id]);
                         die(var_dump($classroom));
               }
           }
            }

                    return view('class',[

                ])->with('class_id',$request->get('class_id'));
                //->with('classroom',$classroom);
    }

现在我要验证这种类型:
1)当用户将class_code放入连接类表单时,如果在joinclass表中已经有class_code,那么打印"你已经在这个教室里了#34;
2)如果用户输入了错误的代码,则打印"您的代码错误"。
3)如果class_code匹配classrooms表,则在连接表中插入class_code并进入教室页面。

现在我不能做(2)条件。

1 个答案:

答案 0 :(得分:1)

您可以使用databinding验证来执行此操作。 Laravel Validation

exists

更新

要指定自定义消息,您可以传递 $validator = Validator::make($request->all(), [ 'class_code' => 'required|exists:classrooms,class_code', ]); 对数组以显示自定义消息。在您的情况下,它将如下:

rule=>message