Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel如何验证请求类但不在方法参数中_Php_Laravel - Fatal编程技术网

Php Laravel如何验证请求类但不在方法参数中

Php Laravel如何验证请求类但不在方法参数中,php,laravel,Php,Laravel,这是我的案例,我得到了一个使用artisan创建的请求类: php artisan make:request StoreSomethingRequest 然后我把我的规则放在那里,然后我可以在我的控制器方法中使用它,如下所示: public function store(StoreSomethingRequest $request) { } 但我需要的是,我想根据视图中的按钮分离2个请求逻辑(假设视图中有多个提交按钮)。因此,我的控制器将如下所示: public function stor

这是我的案例,我得到了一个使用artisan创建的请求类:

php artisan make:request StoreSomethingRequest
然后我把我的规则放在那里,然后我可以在我的控制器方法中使用它,如下所示:

public function store(StoreSomethingRequest $request)
{

}
但我需要的是,我想根据视图中的按钮分离2个请求逻辑(假设视图中有多个提交按钮)。因此,我的控制器将如下所示:

public function store(Request $request)
{
   if($request->submit_button === 'button1')
   {
      // I want to validate using StoreSomethingRequest here
   }
   else
   {
      // I dont want to validate anything here
   }
}

如有任何建议/帮助,我将不胜感激。请D

您可以在请求类的内部规则方法中使用类似的内容

public function rules()
{
    $rules = [
        'common_parameter_1' => 'rule:rule',
        'common_parameter_2' => 'rule:rule',
    ];

    if($this->submit_button === 'button1')
    {
        $rules['custom_parameter_for_button_1'] = 'rule:rule';
    }
    else
    {
        $rules['custom_parameter_for_button_2'] = 'rule:rule';
    }

    return $rules;
}

在HTML提交按钮上添加
name
value
属性。然后检查哪一个已经提交。例如:

<button type="submit" name="action" value="button1">Save 1</button>
<button type="submit" name="action" value="button2">Save 2</button>

谢谢你的回复,但是我在request类中有更复杂的验证。我在那里有一个规则验证。不是简单地返回规则。那么你应该对这个问题更具建设性。是的,对不起,不具建设性是我的错。但是,有没有办法实现这一目标?任何建议都很好。谢谢Hanks Rajender,我只需要在我的请求类中设置逻辑。我可以在其中添加条件。:)谢谢你的回复,Erin,但是如何使用“执行操作1或2”中的StoreSomethingRequest类呢?我想在那里验证它。
 If (Request::input('action') === 'button1') { 
//do action 1
 } else { 
// do action 2
}