В моем проекте я использую lumen 5.8 (я создаю свой проект командой "lumen new test").И я использую валидацию (Illuminate \ Support \ Facades \ Validator) required_without для проверки параметров моего запроса.Но «required_without» не работал правильно.
$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 、, если данные запроса: {"Field_1": 1}
- на самом деле reuslt: "Проверка параметров не удалась. [Ошибка]{"Field_2": ["Поле field 2 является обязательным, если поле 1 отсутствует."]}
- ожидаемый результат: ошибки нет, поскольку поле Field_1 установлено в 1, Field_2 не нужнобыть установленным.
2 、, если данные запроса: {"Field_2": 2}
- на самом деле reuslt: проверка параметров не удалась. [Error] {"Field_1": ["Поле1 поле обязательно для заполнения, если поле 2 отсутствует. "]}
- ожидаемое повторное использование: без ошибок
3 、, если данные запроса: {" Field_1 ": 1," Field_2 ": 2}
- фактически повторное использование: без ошибок
- ожидаемое повторное использование: без ошибок