Laravel, проверьте, чтобы поле было пустым - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно, чтобы поле было пустым, когда другое поле будет иметь какое-либо значение. Я пытаюсь сделать это:

'distance' => 'required_if:distance_type,==,1 | required_without:distance_type,!=,1'

Идея заключается в следующем:

Если distance_type равно 1, тогда требуется distance А ТАКЖЕ Если distance_type не равно 1, то distance должно быть пустым, не должно иметь значения.

Как я мог это сделать?

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Привет, попробуй что-нибудь подобное.

return [
        'distance' => 'required_without:distance_type | different: distance_type',
        'distance_type' => 'required_without:distance | different: distance',
    ];
0 голосов
/ 05 сентября 2018

попробуйте это:

'distance' => 'required_unless:distance_type,2,3,4
0 голосов
/ 05 сентября 2018

У Laravel действительно хороший способ управления сложной логикой валидации. Вы можете просто создать класс правил, например Distance.php, и иметь там логику.

Тогда для вашего валидатора это будет выглядеть примерно так:

'distance' => [new Distance]

Посмотрите документы здесь - https://laravel.com/docs/5.7/validation#custom-validation-rules

...