• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Float oder nicht Float?

balu

New member
Hallo zusammen,

ich habe ein Gleitkommaproblem:

Code:
        $this->addElement('text', 'amount', array(
            'label'    => 'Wert',
            'required' => true,
            'validators' => array(
                array('validator'=>'float'),
                array('validator'=>'greaterThan', 
                      'options' =>array('min'=>0)),
            )
        ));
Gebe ich in das Textfeld jetzt 0,42 ein, ist der float-Validator aufgrund meiner DE-Locale glücklich, aber greaterThan meint "'0,42' ist nicht größer als '0'"...

Gebe ich 0.42 ein, ist es genau andersrum. greaterThan akzeptiert den Wert größer als 0, aber der Float-Validator ist unglücklich, weil "'0.42' scheint kein Float zu sein".

Im ersten Fall habe ich ausserdem das Problem, dass die Datenbank lieber ein 0.42 hätte und den Wert einfach als 0 speichert.

Wie handhabt man das richtig?

Balu
PS: Ausserdem vermisse ich bei greaterThan und LessThan die inclusive-Option. Oder bin ich nur blind?
 

balu

New member
Wenn ich den "LocalizedToNormalized"-Filter in das Formular einbaue, meldet der Float-Validator dann aber immer noch "'0.42' scheint kein Float zu sein", weil der wegen der DE-Locale ein Komma erwartet.

Und wo müsste ich den "NormalizedToLocalized"-Filter einbauen, damit der Rückweg funktioniert?
 

DarkVamp

New member
Wenn ich den "LocalizedToNormalized"-Filter in das Formular einbaue, meldet der Float-Validator dann aber immer noch "'0.42' scheint kein Float zu sein", weil der wegen der DE-Locale ein Komma erwartet.

Und wo müsste ich den "NormalizedToLocalized"-Filter einbauen, damit der Rückweg funktioniert?
Das gleiche Problem habe ich nun leider auch :-( Ich habe den Wert nun auf "-1" gesetzt aber trotzdem keine elegante Lösung wie ich finde :(
 
Oben