我是 Laravel 的初学者。我需要验证我的项目。我使用 Laravel 8。我在 TaskRequest 中有这段代码:
public function rules()
{
return [
'speed_number' => ['required', 'string', 'min:3', 'max:255'],
'order_number' => ['required', 'string', 'min:3', 'max:255'],
'address_from' => ['required', 'string', 'min:3', 'max:255'],
'address_to' => ['required', 'string', 'min:3', 'max:255'],
'carrier_name' => ['required', 'string', 'min:3', 'max:255'],
'carrier_nip' => ['required', 'string', 'min:3', 'max:255'],
'carrier_street' => ['required', 'string', 'min:3', 'max:255'],
'carrier_email' => ['required', 'string', 'min:3', 'max:255'],
'carrier_phone' => ['required', 'string', 'min:3', 'max:255'],
'carrier_postal_code' => ['required', 'string', 'min:3', 'max:255'],
'carrier_city' => ['required', 'string', 'min:3', 'max:255'],
];
}
我需要这样的东西:
public function rules()
{
return [
'speed_number' => ['required', 'string', 'min:3', 'max:255'],
'order_number' => ['required', 'string', 'min:3', 'max:255'],
'address_from' => ['required', 'string', 'min:3', 'max:255'],
'address_to' => ['required', 'string', 'min:3', 'max:255'],
if($company == true){
'carrier_name' => ['required', 'string', 'min:3', 'max:255'],
'carrier_nip' => ['required', 'string', 'min:3', 'max:255'],
'carrier_street' => ['required', 'string', 'min:3', 'max:255'],
'carrier_email' => ['required', 'string', 'min:3', 'max:255'],
'carrier_phone' => ['required', 'string', 'min:3', 'max:255'],
'carrier_postal_code' => ['required', 'string', 'min:3', 'max:255'],
'carrier_city' => ['required', 'string', 'min:3', 'max:255'],
}
];
}
(我需要在请求验证代码中添加 if 语句)。我怎样才能做到?
请帮我 :)
好像你正在寻找required_if
规则。请参阅文档:https ://laravel.com/docs/9.x/validation#rule-required-if
public function rules()
{
return [
'speed_number' => ['required', 'string', 'min:3', 'max:255'],
// ... and other rules ...
'carrier_name' => ['required_if:company,1', 'string', 'min:3', 'max:255'],
// ... and other rules ...
];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句