我需要帮助才能使用自定义请求类验证进行验证,但由于我的控制器是资源控制器,因此我无法将自定义请求类添加为参数。有关如何从资源控制器调用自定义请求验证的任何想法吗?
这是我的资源控制器的路径
Route::resource('customers', 'CustomerController');
这是我的客户请求类
class CustomerRequest extends Request
{
//...
public function rules()
{
return [
'customer_type'=>'required|',
'customer_vendor'=>'required|',
'customer_name'=>'required|',
'company_name'=>'required_if:customer_type,Company',
'job_position'=>'required|',
'street'=>'',
'city'=>'required|',
'country'=>'required|',
'website'=>'url',
'phone'=>'required_unless:mobile|',
'mobile'=>'required_unless:phone|',
'email'=>'email',
];
}
}
这是我的资源控制器:
class CustomerController extends Controller
{
// ....
// Add Customer
public function store()
{
//how do i call custom request validation here
return view('create_views/new_customer',['title' => 'New Customer','nav_links'=>CustomerController::$Links]);
}
}
解决
使用php artisan创建自定义请求时,authorize函数返回false,如果我们已登录,则需要返回true:
public function authorize()
{
return false;//should be return true;
}
答案 0 :(得分:2)
您只需要在控制器方法(CustomerRequest
)上键入提示请求(store()
)。
public function store(CustomerRequest $request)
{
return view('create_views/new_customer',['title' => 'New Customer','nav_links'=>CustomerController::$Links]);
}
答案 1 :(得分:0)
<强>解决强>
使用php artisan创建自定义请求时,authorize函数返回false,如果我们已登录,则需要返回true:
public function authorize()
{
return false;//should be return true;
}