laravel / lumen-framework

The Laravel Lumen Framework.
https://lumen.laravel.com
MIT License
1.48k stars 419 forks source link

lumen5.8 Validator's “required_without” work unexpectedly #923

Closed davidzwxu closed 5 years ago

davidzwxu commented 5 years ago

Description:

stackoverflow:https://stackoverflow.com/questions/56312579/lumen5-8-validators-required-without-work-unexpectedly

In my project, i use lumen 5.8(I create my project by "lumen new test" command ). And i use validation's(Illuminate\Support\Facades\Validator) required_without to validate my request parameters. But "required_without " didnot work correctly.

`$fields = [ 'Field_1' => 'required_without: Field_2 | int', 'Field_2' => 'required_without: Field_1 | int', ];

$validator = Validator::make($args, $fields); if ($validator->fails()) { echo "Validate parameters fail. [Error] " . json_encode($validator->errors()) . "\n"; }`

1、if request data is: { "Field_1": 1 }

--actually reuslt: "Validate parameters fail. [Error] {"Field_2":["The field 2 field is required when field 1 is not present."]}

--expected reuslt: no error, because Field_1 field is set to 1, Field_2 is no need to be set.

2、if request data is: { "Field_2": 2 }

--actually reuslt: Validate parameters fail. [Error] {"Field_1":["The field 1 field is required when field 2 is not present."]}

--expected reuslt: no error

3、if request data is: { "Field_1": 1, "Field_2": 2 }

--actually reuslt: no error

--expected reuslt: no error

Steps To Reproduce:

christhomas commented 5 years ago

Why have you closed this bug report?