Giter Club home page Giter Club logo

Comments (8)

AdrianoMauricio1994 avatar AdrianoMauricio1994 commented on June 2, 2024 1

Estou com o mesmo problema do @mclgms , é sempre adicionado um 0 a cada edit feito no registro

from filament-ptbr-form-fields.

hjJunior avatar hjJunior commented on June 2, 2024 1

Eu fiz algumas atualizacoes locais e me parece estar tudo ok, para quem quiser criar manualmente o field:

<?php

namespace App\Forms\Components;

use Filament\Forms\Components\TextInput;
use Illuminate\Support\Str;

class Money extends TextInput
{
    protected string|int|float|null $initialValue = '0,00';

    protected function setUp(): void
    {
        $this
            ->prefix('R$')
            ->maxLength(13)
            ->extraAlpineAttributes([
                'x-mask:dynamic' => '$money($input, ",", ".", 2)'
            ])
            ->prefix('R$')
            ->maxLength(13)
            ->dehydrateMask()
            ->default(0.00)
            ->formatStateUsing(fn($state) => $state ? number_format(floatval($state), 2, ',', '.') : $this->initialValue);
    }

    public function dehydrateMask(bool|\Closure $condition = true): static
    {

        if ($condition) {
            $this->dehydrateStateUsing(
                fn($state): ?float => $state ?
                floatval(
                    Str::of($state)
                        ->replace('.', '')
                        ->replace(',', '.')
                        ->toString()
                ) :
                null
            );
        } else {
            $this->dehydrateStateUsing(null);
        }

        return $this;
    }

    public function initialValue(null|string|int|float|\Closure $value = '0,00'): static
    {
        $this->initialValue = $value;

        return $this;
    }
}

from filament-ptbr-form-fields.

mliell avatar mliell commented on June 2, 2024

O bug também acontece uilizando MoneyCast (https://filamentphp.com/docs/3.x/panels/getting-started#casting-the-price-to-an-integer) e salvando como integer no banco. Segue vídeo com teste:

Gravacao.de.tela.de.2023-08-24.14-27-46.webm

from filament-ptbr-form-fields.

mtbossa avatar mtbossa commented on June 2, 2024

Eu queria saber como adicionar uma rule de valor mínimo. Tentei utilizar o 'min:1' do Laravel, ou o min() do Filament, mas nenhum funciona (nada acontece). A única forma que eu encontrei foi fazer um minLength() com o valor mínimo de caracteres.

Tentei adicionar uma custom rule com Closure, mas a variável $value as vezes vem estranha, exemplo: R$ 200,00 no input, a variável $rule está como '0,200' na Closure.

from filament-ptbr-form-fields.

leandrocfe avatar leandrocfe commented on June 2, 2024

@mclgms , pode por favor verificar a ultima atualização e dizer se o problema resolveu?
Obrigado!

from filament-ptbr-form-fields.

mclgms avatar mclgms commented on June 2, 2024

from filament-ptbr-form-fields.

leandrocfe avatar leandrocfe commented on June 2, 2024

Eu queria saber como adicionar uma rule de valor mínimo. Tentei utilizar o 'min:1' do Laravel, ou o min() do Filament, mas nenhum funciona (nada acontece). A única forma que eu encontrei foi fazer um minLength() com o valor mínimo de caracteres.

Tentei adicionar uma custom rule com Closure, mas a variável valueasvezesvemestranha,exemplo:R 200,00 no input, a variável $rule está como '0,200' na Closure.

@mtbossa
Por favor, abra uma nova issue pra gente verificar. Obrigado!

from filament-ptbr-form-fields.

guilhermemelgarejo avatar guilhermemelgarejo commented on June 2, 2024

Estou tendo o mesmo problema agora, versão atualizada.

from filament-ptbr-form-fields.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.