Browse Source

修复文件上传表单上传一对一字段设置required验证规则后无法上传文件问题

Jiang qinghua 4 years ago
parent
commit
52e7296d83
1 changed files with 5 additions and 4 deletions
  1. 5 4
      src/Form/Field/UploadField.php

+ 5 - 4
src/Form/Field/UploadField.php

@@ -341,7 +341,7 @@ trait UploadField
      */
     protected function getValidationErrors(UploadedFile $file)
     {
-        $rules = $attributes = [];
+        $data = $rules = $attributes = [];
 
         // 如果文件上传有错误,则直接返回错误信息
         if ($file->getError() !== UPLOAD_ERR_OK) {
@@ -352,11 +352,12 @@ trait UploadField
             return false;
         }
 
-        $rules[$this->column] = $fieldRules;
-        $attributes[$this->column] = $this->label;
+        Arr::set($rules, $this->column, $fieldRules);
+        Arr::set($attributes, $this->column, $this->label);
+        Arr::set($data, $this->column, $file);
 
         /* @var \Illuminate\Validation\Validator $validator */
-        $validator = Validator::make([$this->column => $file], $rules, $this->validationMessages, $attributes);
+        $validator = Validator::make($data, $rules, $this->validationMessages, $attributes);
 
         if (! $validator->passes()) {
             $errors = $validator->errors()->getMessages()[$this->column];