Skip to content

Commit

Permalink
Fix invalid validate
Browse files Browse the repository at this point in the history
  • Loading branch information
francoism90 committed Jul 13, 2024
1 parent 196799f commit 4b3ca71
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
7 changes: 3 additions & 4 deletions src/Support/Html/Elements/Validate.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@ class Validate extends BaseElement

public function message(?string $message = null): static
{
$element = Span::create();

return $this
->addChild($message, Span::create()
->class('text-error-500')
->text($message)
);
->addChild($element->class('text-error-500')->text($message));
}
}
13 changes: 10 additions & 3 deletions src/Support/Html/Mixins/HtmlExtendedMixin.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,23 @@

use Foxws\WireUse\Support\Html\Elements\Icon;
use Foxws\WireUse\Support\Html\Elements\Validate;
use Illuminate\Support\MessageBag;
use Livewire\Form as Livewire;
use Spatie\Html\Elements\Form;

class HtmlExtendedMixin
{
protected ?Livewire $form = null;

protected ?MessageBag $errorBag = null;

public function wireForm(): mixed
{
return function (Livewire $form, ?string $action = null) {
$this->form = $form;

$this->errorBag = $form->getErrorBag();

return Form::create()
->attributeIf($action, 'wire:submit', $action);
};
Expand All @@ -26,6 +31,8 @@ public function closeWireForm(): mixed
return function () {
$this->form = null;

$this->errorBag = null;

return Form::create()->close();
};
}
Expand All @@ -40,14 +47,14 @@ public function icon(): mixed
public function validate(): mixed
{
return function (string $field, ?string $message = null) {
$messageBag = $this->form?->getErrorBag();
$hasMessage = $this->errorBag?->has($field);

$hasMessage = $messageBag?->has($field);
$message ??= $this->errorBag?->first($field);

return Validate::create()
->classUnless($hasMessage, 'hidden')
->classIfNotNull($hasMessage, 'block py-1 text-sm')
->messageIf($hasMessage, $message ?? $messageBag->first($field));
->messageIf($hasMessage, $message);
};
}
}

0 comments on commit 4b3ca71

Please sign in to comment.