Laravel 验证 - 如何添加 if 语句

jkloip

我是 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章