【发布时间】:2016-12-27 20:50:56
【问题描述】:
我最初将字段 first_name、last_name、password、email 作为我的注册表单中的字段。我需要添加一个注册为企业的选项。
我的初始验证规则:
protected function validator(array $data)
{
return Validator::make($data, [
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
我需要添加一个business_name 字段。我需要验证是:
first_name 和 last_name 是必需的 xor business_name 是必需的。
如何在 Laravel 5.2 中做到这一点?我正在查看 sometimes 规则 - 但我不确定是否应该这样做。
编辑:
我想这几乎可以通过以下方式完成:
protected function validator(array $data)
{
return Validator::make($data, [
'first_name' => 'sometimes|max:255',
'last_name' => 'sometimes|max:255',
'business_name'=>'sometimes|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
}
虽然根据我对sometimes 规则的理解,它只会验证输入数组中是否存在密钥,因此first_name 可能存在,last_name 可能不存在,这仍然会验证作为“通行证”。这不是我想要的行为。
【问题讨论】:
标签: php validation laravel laravel-5.2