Laravel 5.2 多重验证在Laravel 5.2中不起作用
我想进行多重验证。我有两个课室和一个班级教室表格中有Laravel 5.2 多重验证在Laravel 5.2中不起作用,laravel-5.2,Laravel 5.2,我想进行多重验证。我有两个课室和一个班级教室表格中有班级代码字段。 这是我的密码: public function postJoinclass(Request $request) { $validator = Validator::make($request->all(), [ 'class_code' => 'required', ]); if ($validator->fails()) { r
班级代码
字段。这是我的密码:
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) 当用户在join class表单中输入class_代码时,如果joinclass表中已经有class_代码,则打印“您已经在这个教室里了”
2) 如果用户输入了错误的代码,则打印“您的代码错误”。
3) 如果类代码与教室表匹配,则在联接表中插入类代码并进入教室页面
现在我无法执行(2)条件。您可以使用
exists
验证来执行此操作
更新:
要指定自定义消息,可以传递rule=>message
对数组以显示自定义消息。在您的情况下,它将如下所示:
$validator = Validator::make($request->all(), [
'class_code' => 'required|exists:classrooms,class_code',
],[
'class_code.required' => 'Please specify the Class Code', // change this to your required message
'class_code.exists' => 'Your code is wrong'
]);
我更新了答案以包含自定义消息。。检查它,并让我知道它是否有效。此验证会产生问题。也就是说,如果新用户加入一个教室,那么如果join类已经有了该类代码。这表明你已经在上课了。我需要验证它,就像一个用户不能在同一个类中进行两次交互一样。但是在一个教室里,有许多用户..@Shuvo这可能是验证器的问题,因为我们没有对joinclass表使用任何验证
$validator = Validator::make($request->all(), [
'class_code' => 'required|exists:classrooms,class_code',
],[
'class_code.required' => 'Please specify the Class Code', // change this to your required message
'class_code.exists' => 'Your code is wrong'
]);