[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/htmlform/ -> HTMLFloatField.php (source)

   1  <?php
   2  
   3  /**
   4   * A field that will contain a numeric value
   5   */
   6  class HTMLFloatField extends HTMLTextField {
   7  	function getSize() {
   8          return isset( $this->mParams['size'] ) ? $this->mParams['size'] : 20;
   9      }
  10  
  11  	function validate( $value, $alldata ) {
  12          $p = parent::validate( $value, $alldata );
  13  
  14          if ( $p !== true ) {
  15              return $p;
  16          }
  17  
  18          $value = trim( $value );
  19  
  20          # http://dev.w3.org/html5/spec/common-microsyntaxes.html#real-numbers
  21          # with the addition that a leading '+' sign is ok.
  22          if ( !preg_match( '/^((\+|\-)?\d+(\.\d+)?(E(\+|\-)?\d+)?)?$/i', $value ) ) {
  23              return $this->msg( 'htmlform-float-invalid' )->parseAsBlock();
  24          }
  25  
  26          # The "int" part of these message names is rather confusing.
  27          # They make equal sense for all numbers.
  28          if ( isset( $this->mParams['min'] ) ) {
  29              $min = $this->mParams['min'];
  30  
  31              if ( $min > $value ) {
  32                  return $this->msg( 'htmlform-int-toolow', $min )->parseAsBlock();
  33              }
  34          }
  35  
  36          if ( isset( $this->mParams['max'] ) ) {
  37              $max = $this->mParams['max'];
  38  
  39              if ( $max < $value ) {
  40                  return $this->msg( 'htmlform-int-toohigh', $max )->parseAsBlock();
  41              }
  42          }
  43  
  44          return true;
  45      }
  46  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1