NumberScopeValidator fehlerhaft für non-integers

Das Forum ist für das Melden von Bugs gedacht. // This forum is intended to report bugs with the APF.
Gesperrt
Dormilich
Beiträge: 1
Registriert: 05.07.2013, 11:05:26

NumberScopeValidator fehlerhaft für non-integers

Beitrag von Dormilich » 05.07.2013, 11:17:23

Hallo,

der NumberScopeValidator ergibt false wenn er Floats validieren soll. Ich habe mir den Quellcode angesehen und finde, daß bei Zeile 77 ein ! fehlt (warum sollte der Validator false zurückgeben, wenn der Input numerisch ist?).

Code: Alles auswählen

   public function validate($input) {

      // check if only integers are accepted
      if ($this->onlyIntegers()) {

         // check for integer
         if (!($input === ((string)(int)$input))) {
            return false;
         }

         // convert input from string to int
         $input = (int)$input;

      } else {

         // check for numeric value (int/float)
         if (is_numeric($input)) { // <== false wenn eine Input eine Zahl ist?
            return false;
         }

         // convert input from string to float
         $input = (float)$input;

      }
PS. der Fehler steht auch im Proposal für den NumberScopeValidator (viewtopic.php?f=10&t=1281)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4536
Registriert: 04.11.2007, 16:13:53

Re: NumberScopeValidator fehlerhaft für non-integers

Beitrag von dr.e. » 05.07.2013, 19:01:57

Hallo Dormilich & herzlich willkommen im APF-Forum,

vielen Dank für den Bug-Report. Ich habe diesen unter http://tracker.adventure-php-framework. ... .php?id=54 angelegt.

Der Fehler ist nun im 2.0er-Zweig gefixt. Da aus dem 1.Xer-Zweig aktuell mit der Version 1.17 die letzte Version ausgeliefert wurde, ist zunächst kein Fix-Pack mehr geplant. Sofern kritische Fehler auftauchen, wird es natürlich ein solches geben. Für diesen Fehler schlage ich vor, den fehlerhaften Code bei dir lokal zu korrigieren.

Bei Fragen immer gerne!
Viele Grüße,
Christian

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast