我在这样的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
我是否可以在验证规则中包含成员资格:查找功能,以便尊重需要验证?
答案 0 :(得分:1)
使用optional()
帮助器来避免"尝试获取非对象的属性"错误:
Rule::in([optional($membership)->key]),
因此,如果找不到成员资格,将返回null,并且将重定向用户并返回验证错误消息。