Development

Changeset 1448

You must first sign up to be able to contribute.

Changeset 1448

Show
Ignore:
Timestamp:
06/16/06 04:01:31 (2 years ago)
Author:
slickrick
Message:

* Added pookey's fix for the 'Any' case in sfNumberValidator. Also added a strtolower() for type checking to avoid any accidental issues like this. Fixes Ticket #631

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/slickrick/lib/validator/sfNumberValidator.class.php

    r1424 r1448  
    6767          return false; 
    6868        } 
    69          
     69 
    7070        // cast our value to a float 
    71         $value = (float) $value;         
    72          
     71        $value = (float) $value; 
     72 
    7373        break; 
    7474      } 
    75        
     75 
    7676      case "int": 
    7777      case "integer": 
    7878      { 
    79       // Note: (Both 3 AND 3.0 are BOTH considered integers and 3.1 is not) 
    80       if ((float) $value != (int) $value) 
    81      
    82         // is not an integer. 
    83         $error = $this->getParameterHolder()->get('type_error'); 
    84         return false; 
    85      
    86          
     79        // Note: (Both 3 AND 3.0 are BOTH considered integers and 3.1 is not) 
     80        if ((float) $value != (int) $value) 
     81       
     82          // is not an integer. 
     83          $error = $this->getParameterHolder()->get('type_error'); 
     84          return false; 
     85       
     86 
    8787        // cast our value to an integer 
    8888        $value = (int) $value; 
    89          
    90         break;    
     89 
     90        break; 
    9191      } 
    92          
    9392    } 
    9493 
     
    135134    $this->getParameterHolder()->set('min_error',  'Input is too small'); 
    136135    $this->getParameterHolder()->set('nan_error',  'Input is not a number'); 
    137     $this->getParameterHolder()->set('type',       'Any'); 
     136    $this->getParameterHolder()->set('type',       'any'); 
    138137    $this->getParameterHolder()->set('type_error', 'Input is not a number'); 
    139138 
     
    145144    // array of allowed types 
    146145    $allowed_types = array('any', 'decimal', 'float', 'int', 'integer'); 
    147      
    148     if (!array_search($type, $allowed_types)) 
     146 
     147    if (!in_array(strtolower($type), $allowed_types)) 
    149148    { 
    150149      // unknown type 
     
    158157  } 
    159158} 
    160  
    161 ?>