Changeset 1762

Show
Ignore:
Timestamp:
08/04/08 23:34:01 (4 months ago)
Author:
mikey
Message:

fix net::stubbles::ipo::request::validator::stubMaxLengthValidator and net::stubbles::ipo::request::validator::stubMinLengthValidator to work correct with UTF-8 strings

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • framework/trunk/src/main/php/net/stubbles/ipo/request/validator/stubMaxLengthValidator.php

    r1547 r1762  
    66 * @package     stubbles 
    77 * @subpackage  ipo_request_validator 
     8 * @version     $Id$ 
    89 */ 
    910stubClassLoader::load('net::stubbles::ipo::request::validator::stubValidator'); 
     
    5152    public function validate($value) 
    5253    { 
    53         if (strlen($value) > $this->maxLength) { 
     54        if (iconv_strlen($value) > $this->maxLength) { 
    5455            return false; 
    5556        } 
  • framework/trunk/src/main/php/net/stubbles/ipo/request/validator/stubMinLengthValidator.php

    r1547 r1762  
    66 * @package     stubbles 
    77 * @subpackage  ipo_request_validator 
     8 * @version     $Id$ 
    89 */ 
    910stubClassLoader::load('net::stubbles::ipo::request::validator::stubValidator'); 
     
    5152    public function validate($value) 
    5253    { 
    53         if (strlen($value) < $this->minLength) { 
     54        if (iconv_strlen($value) < $this->minLength) { 
    5455            return false; 
    5556        } 
  • framework/trunk/src/test/php/net/stubbles/ipo/request/validator/stubMaxLengthValidatorTestCase.php

    r1701 r1762  
    33 * Tests for net::stubbles::ipo::request::validator::stubMaxLengthValidator. 
    44 * 
    5  * @author      Frank Kleine <frank@kl-s.com
     5 * @author      Frank Kleine <mikey@stubbles.net
    66 * @package     stubbles 
    77 * @subpackage  ipo_request_validator_test 
     8 * @version     $Id$ 
    89 */ 
    910stubClassLoader::load('net::stubbles::ipo::request::validator::stubMaxLengthValidator'); 
     
    4445        $this->assertTrue($this->maxLengthValidator->validate('1234')); 
    4546        $this->assertTrue($this->maxLengthValidator->validate('12345')); 
     47        $this->assertTrue($this->maxLengthValidator->validate('hÀllo')); 
     48        $this->assertTrue($this->maxLengthValidator->validate('hÀllö')); 
     49        $this->assertTrue($this->maxLengthValidator->validate('ÀöÌßµ')); 
     50        $this->assertFalse($this->maxLengthValidator->validate('ÀöÌßµa')); 
    4651        $this->assertFalse($this->maxLengthValidator->validate('123456')); 
    4752        $this->assertFalse($this->maxLengthValidator->validate('1234567890')); 
  • framework/trunk/src/test/php/net/stubbles/ipo/request/validator/stubMinLengthValidatorTestCase.php

    r1701 r1762  
    66 * @package     stubbles 
    77 * @subpackage  ipo_request_validator_test 
     8 * @version     $Id$ 
    89 */ 
    910stubClassLoader::load('net::stubbles::ipo::request::validator::stubMinLengthValidator'); 
     
    4344        $this->assertFalse($this->minLengthValidator->validate('123')); 
    4445        $this->assertFalse($this->minLengthValidator->validate('1234')); 
     46        $this->assertFalse($this->minLengthValidator->validate('ÀöÌß')); 
     47        $this->assertTrue($this->minLengthValidator->validate('hÀllo')); 
     48        $this->assertTrue($this->minLengthValidator->validate('hÀllö')); 
     49        $this->assertTrue($this->minLengthValidator->validate('ÀöÌßµ')); 
    4550        $this->assertTrue($this->minLengthValidator->validate('12345')); 
    4651        $this->assertTrue($this->minLengthValidator->validate('123456'));