我使用 Laravel 5
在更新中,创建请求文件
public function rules()
{
return [
'image' => 'required',
'description' => 'required',
'link' => 'required',
];
}
但是更新请求需要更改图像规则,因为如果用户不需要修改记录图像。
我认为只要存在或不存在空图像就足够了。
以 Laravel 方式验证图像怎么样?
将此代码放入控制器中
public function rules()
{
return [
'image' => 'image',
//other rules
];
}
https://laravel.com/docs/5.5/validation#rule-image
public function rules()
{
return [
'image' => 'required_without:id|image',
//other rules
];
}
说明:
最有可能的是,如果您正在创建新记录,则 id 值不存在(默认情况下,它由数据库自动分配),但在编辑或更新的情况下,id 将出现在请求中(默认情况下,记录是通过 id 值找到的)并且图片不是必需的
请参阅https://laravel.com/docs/5.5/validation#rule-required-without
您可以使用以下规则创建
UpdateRequest
:
public function rules()
{
return [
'description' => 'required',
'link' => 'required',
];
}
并使用此请求更新图像并创建将从
StoreRequest
扩展的 UpdateRequest
,并遵循以下规则:
public function rules()
{
return array_merge(parent::rules(), [
'image' => 'required',
]);
}
并使用此请求添加新图像