home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / Range.php < prev    next >
Encoding:
PHP Script  |  2004-03-24  |  2.6 KB  |  64 lines

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. // +----------------------------------------------------------------------+
  4. // | PHP version 4.0                                                      |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2003 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 2.0 of the PHP license,       |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available at through the world-wide-web at                           |
  11. // | http://www.php.net/license/2_02.txt.                                 |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Authors: Bertrand Mansion <bmansion@mamasam.com>                     |
  17. // +----------------------------------------------------------------------+
  18. //
  19. // $Id: Range.php,v 1.6 2003/11/03 16:08:24 avb Exp $
  20.  
  21. require_once('HTML/QuickForm/Rule.php');
  22.  
  23. /**
  24. * Validates values using range comparison
  25. * @version     1.0
  26. */
  27. class HTML_QuickForm_Rule_Range extends HTML_QuickForm_Rule
  28. {
  29.     /**
  30.      * Validates a value using a range comparison
  31.      *
  32.      * @param     string    $value      Value to be checked
  33.      * @param     mixed     $options    Int for length, array for range
  34.      * @access    public
  35.      * @return    boolean   true if value is valid
  36.      */
  37.     function validate($value, $options)
  38.     {
  39.         $length = strlen($value);
  40.         switch ($this->name) {
  41.             case 'minlength': return ($length >= $options);
  42.             case 'maxlength': return ($length <= $options);
  43.             default:          return ($length >= $options[0] && $length <= $options[1]);
  44.         }
  45.     } // end func validate
  46.  
  47.  
  48.     function getValidationScript($options = null)
  49.     {
  50.         switch ($this->name) {
  51.             case 'minlength': 
  52.                 $test = '{jsVar}.length < '.$options;
  53.                 break;
  54.             case 'maxlength': 
  55.                 $test = '{jsVar}.length > '.$options;
  56.                 break;
  57.             default: 
  58.                 $test = '({jsVar}.length < '.$options[0].' || {jsVar}.length > '.$options[1].')';
  59.         }
  60.         return array('', "{jsVar} != '' && {$test}");
  61.     } // end func getValidationScript
  62.  
  63. } // end class HTML_QuickForm_Rule_Range
  64. ?>