验证,如果其他 2 个字段具有指定值则需要

问题描述 投票:0回答:1

我在 Laravel 10 中进行了验证,其中包含对 company_description 的验证。我希望当其他两个字段具有指定值时需要它。我得到了这个代码:

'company_description' => [
                'string',
                'nullable',
                function ($attribute, $value, $fail) {
                    if (request()->input('offer_type_id') == 1 && request()->input('use_default_company_description') == false) {
                        if (empty($value) || $value == '') {
                            $fail('Company description is required.');
                        }
                    }
                },
            ],

但它不起作用。如果 nullable 被删除,它的工作,但我需要这个字段是 nullable。我做错了什么?

validation laravel-10 laravel-validation
1个回答
0
投票

使用

withValidator
sometimes
有条件地添加
required
规则。

company_description' => ['string']

public function withValidator($validator) {
        $validator->sometimes('company_description', 'required', function ($input) {
            return $input->offer_type_id == 1 && $input->use_default_company_description == false;
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.