当另一个字段具有值(非空)时,我试图排除一个字段被验证。在这种情况下,如果 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 中的价值?