【发布时间】:2018-01-05 02:47:42
【问题描述】:
所以我按照这个教程学习了如何使用 Vue 使用 Laravel 上传图片:Image upload and validation using Laravel and VueJs
一切正常,但我想让图片上传可选。现在,AppServiceProvider 的自定义验证失败。如果它没有任何输入,那么我会收到此错误
试图访问不存在的数组中的属性。未定义的偏移量:1
我可以通过询问来避免错误
if (request('image'))
只有在没有给出图像的情况下,才在控制器中对其他字段应用验证。然而,这变得非常混乱。
所以我正在寻找一种在没有输入的情况下让自定义验证规则起作用的方法。还是那是错误的方式?
这是自定义验证规则:
public function boot()
{
Validator::extend('image64', function ($attribute, $value, $parameters, $validator) {
$type = explode('/', explode(':', substr($value, 0, strpos($value, ';')))[1])[1];
if (in_array($type, $parameters)) {
return true;
}
return false;
});
Validator::replacer('image64', function($message, $attribute, $rule, $parameters) {
return str_replace(':values',join(",",$parameters),$message);
});
}
【问题讨论】:
标签: laravel validation file-upload image-uploading customvalidator