我想接受我的update
验证,符合以下条件:
firstname
和lastname
存在,因此是必需的,但未提供deceased_at
deceased_at
单独给出这很有意义,因为我们可以更新任何字段,但是当我们记录某人的死亡时,我们将永远不会更改任何字段值。
$validator = Validator::make($request->all(), [
'firstname' => 'required_unless:deceased_at|max:255',
'lastname' => 'required_unless:deceased_at|max:255',
'deceased_at' => 'required_without_all:firstname,lastname|date'
]);
required_without_all
使用起来很麻烦,因为我必须提到每个字段。我更喜欢required_alone
之类的东西。
有什么选择?
答案 0 :(得分:2)
我认为您可以继续使用if案例吗?
$validator = Validator::make($request->all(), $this->rules($request));
...
protected function rules(Request $request) : array
{
return $request->has('deceased_at')
? ['deceased_at' => 'required|date']
: [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
]
}