这是我的情况,我有一个使用工匠创建的请求类:
php artisan make:request StoreSomethingRequest
然后我将规则放在那里,然后我可以在我的Controller方法中使用它:
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
答案 0 :(得分:0)
您可以在规则方法中的请求类中使用类似的内容。
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;
}
答案 1 :(得分:0)
在HTML提交按钮上添加name
和value
属性。然后检查哪一个已提交。例如:
<button type="submit" name="action" value="button1">Save 1</button>
<button type="submit" name="action" value="button2">Save 2</button>
然后在处理程序中:
If (Request::input('action') === 'button1') {
//do action 1
} else {
// do action 2
}