Hello,

I repeat the question: Is Zend_Validate_Int seriously broken with non-english locales or is it just me? Because we're facing two different problems.

* In order to validate an integer using the french format (with spaces as thousands separator, ie: 8 000), the framework expects us to input digits separated with non-breakable spaces (ie: 8(\xA0)000). Is this a sad joke? Because I don't even know how to input a non-breakable space using my keyboard. Regular spaces are *not* allowed. Sure you can still avoid thousands separators, but in this case, a second problem appears..

(this issue is discussed here, I can understand it's not really an issue, but still: http://framework.zend.com/issues/browse/ZF-7175)

* So you can't validate a french space-separated number, let's use a number with no separators at all. Unfortunately, that does not seem to be a solution either, since you didn't specified the 'u' modifier in the preg_match() that validates the number format in Zend_Locale_Format (line 503). And it seems that the non-breakable space is a special UTF-8 character that you can't use in UTF-8 regex without the 'u' modifier. At least, adding the 'u' modifier makes it work like a charm.

So basically, you can't use integers in french.
What are we supposed to do?

I filed an issue there:
http://framework.zend.com/issues/browse/ZF-9242

Regards,
- Nicolas Grevet

Reply via email to