【发布时间】:2020-11-21 02:07:17
【问题描述】:
当另一个字段具有值(非空)时,我试图排除一个字段被验证。在这种情况下,如果 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 与给定值匹配。
我的问题是,你如何评估 FormRequest Laravel 中的 null 值?
【问题讨论】:
标签: laravel laravel-validation laravel-formrequest