validation - Laravel 表单请求验证的条件
问题描述
我是 Laravel 的新手。我正在通过表单请求进行验证。但我想设置一个条件,如果检查供应商存在返回 true,则需要检查规则,否则不需要检查。我正在制作 API,所以我希望在 else 部分有一个 JSON 响应。为此,我应该在 else 部分写什么,因为我尝试了很多方法(使用 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);
推荐阅读
- asp.net - 如何在 ASP.NET 中获取请求参数列表
- hyperledger-fabric - Hyperledger Fabric 客户端注册
- c - GSL 集成失败
- c - 虽然我的程序运行,但变量(年龄和 favourite_number)没有突出显示,并且在问题部分它突出显示了一个问题
- python - 不使用峰值检测器功能的峰值检测:根据另一个条件获取行的最大值
- ruby-on-rails - Searchkick:如何根据记录时间戳将 ElasticSearch 中的记录保存在不同的索引中?
- jwt - 为 JOSE/NODEJS 生成 EdDSA 25519 密钥对
- python-3.x - 存储每分钟并仅从数据库中选择最新的 24 小时数据的最佳实践?
- python - 循环获取请求(Yelp Fusion API)
- c# - 在 WebApi 2 ASP.NET 4.6.1 上启用 OData 过滤