Laravel 5.6。如果请求中存在2个特定字段,则失败

时间:2018-10-18 17:12:02

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

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

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

1 个答案:

答案 0 :(得分:1)

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

db.col.aggregate([
    {
        $addFields: { 
            weight: { $cond: [ { $eq: [ "$_id.type", "exact" ] }, 2, 1 ] } 
        }
    },
    {
        $sort: { "weight": -1 }
    },
    {
        $group:{
            _id: "$_id.month",
            value: { $first: "$value" }
        }
    },
    {
        $sort: { _id: 1 }
    }
])

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

注意:在FormRequest类之外,您需要使用 'field1' => function ($attribute, $value, $fail) { if ($value && $this->input('field2')) { return $fail($attribute.' can only be filled when field2 is empty.'); } }, 以外的其他东西