Ahm*_*sam 0 php laravel laravel-validation
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'),
];
}
Run Code Online (Sandbox Code Playgroud)
这些规则适用于存储和更新方法。
问题是:
我希望图像仅在商店中需要,而在更新中不需要,因为用户只需更新产品基本信息,而无需在每次更新产品时为产品选择新图像。
我尝试过的:
我尝试创建两个不同的ProductsRequest 一个用于存储,另一个用于更新,但我知道这个成就不是最好的成就,因为我的代码必须是 DRY 的。
使用required_without
规则
如果id
您的数组中存在主键和名称元素
'image' => 'required_without:id`
Run Code Online (Sandbox Code Playgroud)
如果product_id
您的数组中存在主键和名称元素
'image' => 'required_without:product_id`
Run Code Online (Sandbox Code Playgroud)
您可以从Laravel 验证中获取更多详细信息
归档时间: |
|
查看次数: |
3350 次 |
最近记录: |