首页 > 解决方案 > 拉拉维尔 5.6。失败,如果请求中存在 2 个特定字段

问题描述

我在请求中有 2 个字段。field1field2

FormRequest如果两者都存在,我应该在验证失败中定义哪些规则?

标签: phplaravellaravel-5laravel-5.6laravel-validation

解决方案


AFAIK对此没有验证规则,您可以编写一个,或者如果它是一次性的,您可以编写一个闭包:

    'field1' => function ($attribute, $value, $fail) {
        if ($value && $this->input('field2')) {
            return $fail($attribute.' can only be filled when field2 is empty.');
        }
    },

https://laravel.com/docs/5.6/validation#using-closures

注意:在 FormRequest 类之外,您需要使用除$this->input()


推荐阅读