2015-11-03 130 views
1

我有产品和软件和电影属于产品。我创建了两个验证请求,并希望验证它们,如下所示。Laravel多个表单请求验证

public function store(StoreProductRequest $old_request) 
{ 
    if ($old_request->type == 'MOVIE') 
     $request = new StoreMovieRequest; 
    else 
     $request = new StoreSoftwareRequest; 

    $request = $old_request; 
    $request->validate(); 
} 

有什么办法可以在Laravel 5.1中实现这个吗?我希望你能理解我的问题。做你想达到什么的

+0

,你可以更详细的显示你的表?你的结果应该是什么? – davejal

回答

1

一种方法是

public function store(StoreProductRequest $old_request){ 
    if ($old_request->type == 'MOVIE'){ 
    $request = new Requests\StoreMovieRequest; 
    $this->validate($old_request, $request->rules()); 
    //validation passed for StoreMovieRequest 
    } 
    else { 
    $request = new Requests\StoreSoftwareRequest; 
    $this->validate($old_request, $request->rules()); 
    //validation passed for StoreSoftwareRequest 
    } 
} 
+0

这个解决方案效果很好,非常感谢。 – 2017-11-01 09:57:58