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