Laravel 5.5 - 在验证规则中包含查找功能

时间:2018-02-13 18:38:24

标签: laravel

我在这样的Laravel 5.5控制器中使用验证......

 $membership = Membership::find($request->input('membership_id'));

    /* Validation Rules */
    $rules = [
        'key' => [
            'required',
            Rule::in([$membership->key]),
        ],
    ];

如果提供了membership_id,则此方法可正常工作,但如果没有,则表示错误....

Trying to get property of non-object

我是否可以在验证规则中包含成员资格:查找功能,以便尊重需要验证?

1 个答案:

答案 0 :(得分:1)

使用optional()帮助器来避免"尝试获取非对象的属性"错误:

Rule::in([optional($membership)->key]),

因此,如果找不到成员资格,将返回null,并且将重定向用户并返回验证错误消息。