Php 如果存在多个模型,则Laravel JS验证程序库不起作用
在我的laravel项目中,我有多个包含电子邮件id的表(例如:Users表和agencies表),并且正在使用JS validator进行表单验证。问题是,当我尝试填写代理表格时,如果我使用的邮件id不在代理表格中,但已在用户表格中,则会触发错误,Php 如果存在多个模型,则Laravel JS验证程序库不起作用,php,laravel,Php,Laravel,在我的laravel项目中,我有多个包含电子邮件id的表(例如:Users表和agencies表),并且正在使用JS validator进行表单验证。问题是,当我尝试填写代理表格时,如果我使用的邮件id不在代理表格中,但已在用户表格中,则会触发错误,电子邮件已被接收。但此电子邮件id仅存在于用户表中,而不存在于代理表中 以下是我在Agency controller中验证和存储()的代码 protected $addValidationRules = [
电子邮件已被接收
。但此电子邮件id仅存在于用户表中,而不存在于代理表中
以下是我在Agency controller中验证和存储()的代码
protected $addValidationRules = [
'name' => 'required|max:255',
'username' =>'required|max:255',
'password' => 'required|min:6',
'city' => 'required|max:255',
'state' => 'required|max:255',
'zip_code' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
];
下面是我在agency表中存储数据的代码
public function store(Request $request)
{
$postdata = $request->all();
// echo "<pre>";print_r($postdata);exit;
$validation = Validator::make($request->all(), $this->addValidationRules);
if ($validation->fails()) {
return redirect()->back()->withErrors($validation->errors())->withInput();
}else{
$name = isset($postdata['name']) ? $postdata['name'] : '';
$username = isset($postdata['username']) ? $postdata['username'] : '';
$password = isset($postdata['password']) ? $postdata['password'] : '';
$city = isset($postdata['city']) ? $postdata['city'] : '';
$state = isset($postdata['state']) ? $postdata['state'] : '';
$zip = isset($postdata['zip_code']) ? $postdata['zip_code'] : '';
$email = isset($postdata['email']) ? $postdata['email'] : '';
$created_at = Carbon::now();
try {
$agency = Agencie::create([
'agency_name' => $name,
'agency_user_name' => $username,
// 'payment_type' => $payment_type,
'password' => bcrypt($password),
'agency_city' => $city,
'agency_state' => $state,
'agency_zip' => $zip,
'email' => $email,
'agency_status' => 'ACTIVE',
'created_at' => $created_at
]);
// $agency->notify(new AgencyRegisteredNotification($agency));
}catch (\Exception $e){
return $e->getMessage();
}
if($agency != ''){
Session::flash('message', 'Agency added Successfully');
Session::flash('msgclass', 'alert-success');
return Redirect::to('admin/agencies');
}else{
Session::flash('message', 'Error while adding Agency');
Session::flash('msgclass', 'alert-danger');
return Redirect::to('admin/agencies');
}
}
}
如果这是问题所在,我如何具体验证这一点?如果这部分验证针对的是机构
'email' => 'required|email|max:255|unique:users',
您必须更改这部分代码
'email' => 'required|email|max:255|unique:agencies',
到
为什么您有
unique:users
用于您的机构验证?它不应该是唯一的机构表吗?'email'=>'必需的| email |最大值:255 |唯一的:用户'
,更改此'email'=>'必需的| email |最大值:255 |唯一的:机构'
'email' => 'required|email|max:255|unique:users',
'email' => 'required|email|max:255|unique:agencies',