Laravel - валидация формы для прохождения, только если определенное поле пусто - PullRequest
0 голосов
/ 05 ноября 2019

Итак, я строю форму, и мне нужно, чтобы определенные поля были пустыми.

Они возвращают пустую строку, и из других подобных вопросов я искал

\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class

в Kernel.php, который, по-моему, закомментирован по умолчанию.

Я не хочу менять его поведение, поскольку это глобальное промежуточное ПО.

Я пытался сделать их обнуляемыми, string|sometimes, present|max:0, но ни один из них не дает мне желаемого результата. Я хочу, чтобы проверка прошла, только если поля пусты.

Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 05 ноября 2019

Итак, как я понял, вы хотите, чтобы определенное поле было обязательным, если другое поле в форме пустое? Для этого вы можете использовать свойство required_without в Request validation, например:

public function rules()
    {
        return [
            'filed_name' => 'required_without:other_field_name',
        ];
    }

    public function messages()
    {
        return [
            'filed_name.required_without' => 'filed_name is required.',
        ];
    }

Подробнее о проверке на официальной документации .

...