Laravel required_无需通过电子邮件或数字验证进行验证



我正在按照以下使用laravel的验证器合同

return Validator::make($data, [
'company_name' => 'required',
'cr_number' => 'required',
'governorate' => 'required',
'city' => 'required',
'block_no' => 'required',
'road_no' => 'required',
'building_no' => 'required',
'office_no' => 'required',
'firstname' => 'required|string|max:255',
'lastname' => 'required|string|max:255',
'email' => 'required_without:phone|email|unique:users',
'phone' => 'required_without:email|numeric|unique:users',
'password' => 'required|string|min:6|confirmed',
'commercial_certificate' => 'required|mimes:pdf|max:5000',
'vat_certificate' => 'required|mimes:pdf|max:5000'
]);

现在我想做一些事情,比如如果email is not null然后忽略电话,如果phone is not null然后忽略电子邮件,也如果email is not null然后用unique in users检查有效的email,对于电话也是如此

注意:我也尝试过有时和可为null的

谢谢,欢呼;(

你能试试吗?如果电话为空,则需要发送电子邮件,反之亦然。如果填写的电子邮件将进行电子邮件验证,并检查用户表&电话领域也是如此。

'email' => 'required_if:phone,null|email|unique:users',
'phone' => 'required_if:email,null|unique:users'

最新更新