Php 如果存在多个模型,则Laravel JS验证程序库不起作用

Php 如果存在多个模型,则Laravel JS验证程序库不起作用,php,laravel,Php,Laravel,在我的laravel项目中,我有多个包含电子邮件id的表(例如:Users表和agencies表),并且正在使用JS validator进行表单验证。问题是,当我尝试填写代理表格时,如果我使用的邮件id不在代理表格中,但已在用户表格中,则会触发错误,电子邮件已被接收。但此电子邮件id仅存在于用户表中,而不存在于代理表中 以下是我在Agency controller中验证和存储()的代码 protected $addValidationRules = [

在我的laravel项目中,我有多个包含电子邮件id的表(例如:Users表和agencies表),并且正在使用JS validator进行表单验证。问题是,当我尝试填写代理表格时,如果我使用的邮件id不在代理表格中,但已在用户表格中,则会触发错误,
电子邮件已被接收
。但此电子邮件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',