From d1813e262e0e5b73c40bff1cb1998438a689bfdf Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 5 Feb 2026 08:24:27 -0500 Subject: [PATCH] Update OrdenProduccionResource.php --- .../Resources/OrdenProduccionResource.php | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/Filament/Resources/OrdenProduccionResource.php b/app/Filament/Resources/OrdenProduccionResource.php index c78151c..8f93e54 100644 --- a/app/Filament/Resources/OrdenProduccionResource.php +++ b/app/Filament/Resources/OrdenProduccionResource.php @@ -67,13 +67,15 @@ class OrdenProduccionResource extends Resource ->helperText('Referencia de la prenda (opcional)'), TextInput::make('cantidad_total') - ->numeric() ->required() ->minValue(1) - ->step(0.01) - ->inputMode('decimal') - ->dehydrateStateUsing(fn ($state) => str_replace(',', '.', $state)) - ->formatStateUsing(fn ($state) => $state ? number_format((float)$state, 2, '.', '') : '0'), + ->regex('/^\d+(\.\d{1,2})?$/') + ->rule('regex:/^\d+(\.\d{1,2})?$/') + ->reactive() + ->dehydrateStateUsing(fn ($state) => is_numeric($state) ? (float)$state : 0) + ->formatStateUsing(fn ($state) => $state ? (string)$state : '0') + ->placeholder('Ejemplo: 100.50') + ->hint(fn ($state) => $state && is_numeric($state) ? number_format((float)$state, 2, '.', ',') : ''), Select::make('tela_id') ->label('Tela asociada') @@ -111,14 +113,15 @@ class OrdenProduccionResource extends Resource TextInput::make('metros_requeridos') ->label('Metros requeridos') - ->numeric() ->required() ->minValue(0) - ->step(0.01) ->reactive() - ->inputMode('decimal') - ->dehydrateStateUsing(fn ($state) => str_replace(',', '.', $state)) - ->formatStateUsing(fn ($state) => $state ? number_format((float)$state, 2, '.', '') : '0') + ->regex('/^\d+(\.\d{1,2})?$/') + ->rule('regex:/^\d+(\.\d{1,2})?$/') + ->dehydrateStateUsing(fn ($state) => is_numeric($state) ? (float)$state : 0) + ->formatStateUsing(fn ($state) => $state ? (string)$state : '0') + ->placeholder('Ejemplo: 50.50') + ->hint(fn ($state) => $state && is_numeric($state) ? number_format((float)$state, 2, '.', ',') . ' m' : '') ->helperText(fn ($get) => $get('tela_id') ? 'Saldo disponible: ' . number_format(\App\Models\Tela::find($get('tela_id'))->metros_disponibles ?? 0, 2, '.', ',') . ' m' : 'Selecciona una tela') ->default(0),