Jump to content

Incorrect length calculation on minLength, maxLength, betweenLength functions in Input.php


Recommended Posts

Posted

Hello,

 

Blesta accepts UTF-8 characters. However validations functions calculates string lengths incorrect.

public static function minLength($str, $length)
{
	return strlen($str) >= $length;
}

As you can see strlen counts as bytes. And "ü" character is counted as 2 rather than 1. Blesta needs to change strlen to mb_strlen which is more safe to unicode characters.

php > echo strlen("Türkish");
8
php > echo mb_strlen("Türkish");
7

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...