Laravel表单请求验证条件



我是Laravel的新手。我正在通过表格请求进行验证。但我想设置一个条件,如果检查供应商存在返回true,则需要检查规则,否则不检查。我正在制作API,所以我希望在其他部分得到JSON响应。为此,我应该在其他部分写些什么,因为我已经尝试了很多方法(使用Trait,授权函数(,但出现了错误?

$check_vendor_exists = Vendor::where('user_id', Auth::id())->get()->toArray();
if (empty($check_vendor_exists)) {
return [
'business_name' => 'required||regex:/^[a-zA-Z_ ]*$/|max:191',
'business_id' => 'required|exists:businesses,id',
'business_email' => 'required|email|max:191|unique:vendors,business_email,NULL,id,deleted_at,NULL',
'country_id' => 'nullable|exists:countries,id',
'state_id' => 'nullable|exists:states,id',
'city_id' => 'nullable|exists:cities,id',
'business_logo' => 'nullable|image|mimes:jpeg,png,jpg|max:5120',
'opening_hours' =>  'nullable|json',
'gst_no' => 'required||regex:/^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/|max:191',
];
} else {
return $this->getMessages([], config('constants.messages.errors.something_wrong'), config('constants.validation_codes.unprocessable_entity'), false);
}

我不确定我是否理解你的问题,如果你正在API上工作,你只需要返回true

您可以在else语句中使用响应对象:

return response()->json(['message' => true]);

return response()->json(true);

最新更新