Я добавил пользовательский класс запросов для проверки данных при создании нового клиента в базе данных. По какой-то причине я получаю следующую ошибку:
Это мой класс пользовательских запросов: Too few arguments to function App\\Http\\Requests\\CreateTenantRequest::Illuminate\\Foundation\\Providers\\{closure}(), 0 passed and exactly 1 expected
в строке 51, где закрывающая скобка для функции message ()
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class CreateTenantRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$product_id = $this->get('product_id');
return [
'product_id' => 'required|exists:products,id|numeric',
'name' => 'required|string|max:50',
'email' => ['required',
Rule::unique('tenants')->where(function($query) use ($product_id) {
return $query->where('product_id', $product_id);
})
],
'reseller_user_id' => 'numeric',
'user_id_from_company' => ['required',
Rule::unique('tenants')->where(function($query) use ($product_id) {
return $query->where('product_id', $product_id);
}),
'max:255'],
];
}
public function messages()
{
return [
'user_id_from_company.unique' => 'The user ID already exists for this product',
];
}
}
Ниже приведена фактическая функция в контроллере, которая вызывает проверку:
public function createTenant(CreateTenantRequest $request) {
$request->validate();
return 'valid!';
}