[ 'required', 'email:rfc,strict,dns,spoof,filter', Rule::exists('contacts', 'email')->where(function ($query) { $query->whereIn('app_user_id', function ($subQuery) { $subQuery->select('id')->from('app_users')->where('tenant_id', $this->tenant); }); }), ], 'emails.subject' => 'required|string|between:3,255', 'emails.message' => 'required|string|min:3', 'emails.app_user_id' => [ 'required', 'integer', Rule::exists('app_users', 'id')->where('tenant_id', $this->tenant) ], 'emails.documents' => 'required|array|min:1', 'emails.documents.*.title' => 'required|string|min:3', 'emails.documents.*.uuid' => 'required|string|min:3', 'emails.documents.*.type' => 'required|string|min:1', ]; } /** * Get custom attributes for validator errors. * * @return array */ public function attributes(): array { return [ 'emails.email' => trans('validation.attributes.email'), 'emails.subject' => trans('validation.attributes.subject'), 'emails.message' => trans('validation.attributes.message'), 'emails.app_user_id' => trans('models.classes.app_user'), ]; } }