laravel - 如何在其他字段 laravel FormRequest 中检查 null?
问题描述
当另一个字段具有值(非空)时,我试图排除一个字段被验证。在这种情况下,如果 product_pictures 是一个数组(非空),我希望排除“deleted_pictures”。我的问题是,我认为exclude_unless:product_pictures,null
评估null
为string
,而不是null
。
这是我的规则。
ProductRequest.php
return [
'product_pictures.*' => 'required_with:product_pictures|file|max:2048|mimes:jpeg,jpg,png',
'product_pictures' => 'sometimes|array',
'deleted_pictures' => ['exclude_unless:product_pictures,null', 'required', new cant_delete_all($max,'1')],
];
read : exclude deleted_pictures unless product_pictures has a value of 'null'
我试过这个来证实我的怀疑,它应该像它一样工作。
//test_field = 'some_value'
return [
'test_field' => 'required|string'
'product_pictures.*' => 'required_with:product_pictures|file|max:2048|mimes:jpeg,jpg,png',
'product_pictures' => 'sometimes|array',
'deleted_pictures' => ['exclude_unless:test_field,some_value', 'required', new cant_delete_all($max,'1')],
];
read : exclude deleted_pictures unless test_field has a value of 'some_value'
在我的第一种情况下,deleted_pictures 被排除在外,因为它没有检测到 product_pictures 为“null”(字符串)
在第二种情况下,不排除 deleted_pictures ,因为 test_field 与给定值匹配。
我的问题是,你如何评估null
FormRequest Laravel 中的价值?
解决方案
因此,显然您可以将第二个参数留空以将其评估为 null
return [
'product_pictures.*' => 'required_with:product_pictures|file|max:2048|mimes:jpeg,jpg,png',
'product_pictures' => 'sometimes|array',
'deleted_pictures' => ['exclude_unless:product_pictures,', 'required', new cant_delete_all($max,'1')],
];
我不确定这是它应该如何完成或预期的行为。但我只是要留下这个答案,以防万一有人需要它。如果有人可以建议“正确”的做法,那么我会接受。
推荐阅读
- python - 如何获取 groupby 返回的系列的索引标签?
- python - C# python 控制台
- java - 如何在java处理中从字符串实例化类?
- swift - CoredataCloudkit 在提交到应用商店后无法在生产模式下工作
- python - 在循环中重新分配数组的最后一个索引
- python - 如何在streamlit中显示情节
- c# - 尝试使用 SetWindowsHookEx 和 SetForegroundWindow 使用热键管理窗口
- c++ - 使用广义 Lambda 捕获的奇怪行为
- reactjs - React Hooks:获取 innerHTML
- android - doAfterTextChanged{} 科特林