【发布时间】:2021-06-13 17:11:52
【问题描述】:
ProductsRequest.php代码:
public function rules()
{
return [
'name' => 'required
|min:'.trans('validation_standards.names.min').'
|max:'.trans('validation_standards.names.max').'
|unique:products,name,'.$this -> product_id,
'barcode' => 'size:'.trans('validation_standards.barcode.size').'
|unique:products,barcode,'.$this -> product_id,
'category_id' => 'required
|exists:categories,id',
'seasons_id' => 'required
|exists:seasons,id',
// REQUIRED IMAGE ONLY IN STORE
'image' => 'required
|image|mimes:'.trans('validation_standards.images.extensions').'
|max:'.trans('validation_standards.images.file_size'),
'description' => 'nullable
|min:'.trans('validation_standards.descriptions.min').'
|max:'.trans('validation_standards.descriptions.max'),
];
}
这些规则适用于 store 和 update 方法。
问题是:
我希望仅在 store 中需要该图像,而在 update 中不需要该图像,因为用户只需更新产品基本信息而无需为产品选择新图像每次他更新产品。
我尝试过的:
我尝试创建两个不同的 ProductsRequest 一个用于存储,另一个用于更新,但我知道这个成就不是最好的成就,因为我的代码必须是 DRY。
【问题讨论】:
-
创建资源时是否同时需要
category_id和seasons_id? -
@PeterSowah 是的,因为它们都可能会更新并且它们都是必需的
标签: php laravel laravel-validation