diff --git a/resources/views/components/file-upload.blade.php b/resources/views/components/file-upload.blade.php index f698855..c891eaa 100644 --- a/resources/views/components/file-upload.blade.php +++ b/resources/views/components/file-upload.blade.php @@ -41,10 +41,14 @@ class="{{ $field->inputClass }}"/> @endif {{--show livewire file upload default validation error--}} - @error($field->multiple ? $field->name.'.*': $field->name) - @foreach($errors->get($field->multiple ? $field->name.'.*': $field->name) as $message) -

{{ $field->multiple ? \Tanthammar\TallForms\ErrorMessage::parse($message[0]) : \Tanthammar\TallForms\ErrorMessage::parse($message) }}

- @endforeach + @error($field->name) +

{{ \Tanthammar\TallForms\ErrorMessage::parse($message) }}

+ @enderror + @error($field->name.'.*') + + @foreach($errors->get($field->name.'.*') as $message) +

{{ \Tanthammar\TallForms\ErrorMessage::parse($message[0])}}

+ @endforeach @if(!$showFileUploadError)

{{ $uploadFileError }}

@endif @enderror {{--show components general validation error --}} diff --git a/src/Traits/UploadsFiles.php b/src/Traits/UploadsFiles.php index b2efdaa..e2d9df5 100644 --- a/src/Traits/UploadsFiles.php +++ b/src/Traits/UploadsFiles.php @@ -24,9 +24,9 @@ public function customValidateFilesIn($field_name, $rules) if(filled($this->$field_name) && filled($rules)) { $key = is_array($this->$field_name) ? $field_name.'.*' : $field_name; try { - Validator::make([$field_name => $this->$field_name], [ - $key => $rules, - ])->validate(); + Validator::make([$field_name => $this->$field_name], + is_array($rules) ? $rules : [$key => $rules]) + ->validate(); $this->showFileUploadError = false; } catch (ValidationException $e) { $this->showFileUploadError = true; diff --git a/src/Traits/ValidatesFields.php b/src/Traits/ValidatesFields.php index 2127e74..bed782a 100644 --- a/src/Traits/ValidatesFields.php +++ b/src/Traits/ValidatesFields.php @@ -53,8 +53,11 @@ protected function recursiveFieldRules($fields = null, string $prefix = 'form_da } else { $ruleName = "$prefix.$field->name"; } - - $rules[$ruleName] = $field->rules ?? 'nullable'; + if ($field->type === 'file' && is_array($field->rules)) { + $rules = $field->rules; + }else{ + $rules[$ruleName] = $field->rules ?? 'nullable'; + } } } }