我愿意根据这些标准接受我的更新
验证:
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
这样的东西。
有什么选择?
最佳答案
我认为您可以继续使用 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',
]
}
关于php - 要求字段单独存在的条件验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479122/