仅在存在值时应用验证?



我有一些验证规则:

return [
'name' => 'required',
'phone' => 'required_without:email',
'email' => 'required_without:phone|email',
];

我想验证如果有电话,您不需要电子邮件,如果有电子邮件,则不需要电话。

我已经通过上述方法管理了它,但是当您输入电话号码并将电子邮件留空(这应该是允许的(时,我收到验证错误,指出电子邮件未格式化为电子邮件地址。

如何允许电话或电子邮件,如果电子邮件需要电子邮件格式?

你可以这样使用。

if($request->input("phone")){
$data["phone"] = $request->input("phone");
$validate = '';
}elseif($request->input("email")){
$data["email"] = $request->input("email");
$validate = 'email';
}
return 
Validator::make($data, [
'name' => 'required',
key($data) => array('required',$validate)
],

最新更新