Zum Inhalt springen

Fluid Formular - Input Feld mit Kommazahlen statt Punkt

Erstellt am 28. April 2017 · 3 Antworten · letzte Antwort am 17. Mai 2017

Tags: Fluid, Frage

sxbxstxxn ·

Hallo alle,

ich habe das Problem, dass ich ein Preisfeld in einem Fluid Formular habe, welches Kommazahlen beinhalten soll. Gebe ich dort z.B. 99.99 ein funktioniert das problemlos. Wenn ich aber 99,99 eingebe, dann kommt eine Flash Fehlermeldung, bevor ich überhaupt in der Action meiner Extension ankomme und was ändern könnte.

Folgende Einträge zu dem Feld habe ich:

ext_tables.sql:
preis double(11,2) DEFAULT '0.00' NOT NULL,

TCA:

'preis' => array(
  'exclude' => 0,
  'label' => 'LLL:EXT:myExtension/Resources/Private/Language/locallang_db.xlf:tx_myextension_domain_model_produkt.preis',
    'config' => array(
	'type' => 'input',
	'size' => 30,
	'eval' => 'double2'
    )
),

Template:

<f:form.textfield property="preis" />

Ich hatte gehofft das ist leicht mit Fluid Einstellungen lösbar aber irgendwie finde ich dazu nur komplexe Lösungen, wie einen eigenen Typ Konverter zu schreiben.

Hat jemand eine Idee?

toifel ·

Eine schnelle (aber auch nicht ganz saubere) Lösung wäre mit JavaScript machbar.. damit könntest du bereits vor dem Senden des Formulars das Feld prüfen, ggf. mit replace(',', '.') anpassen und erst dann abschicken.

aemka ·

Du brauchst einen TypeConverter. Musst aber keinen eigenen schreiben, sollte mit den vorhandenen gehen. JavaScript ist aber eine genauso gute Lösung, nahezu das ganze Internet funktioniert ja nicht mehr ohne.