Grigri, my first example is exactly what you said and it doesn't
work...
Do you need some glasses ;o))
Aurélien
On 9 avr, 16:32, grigri <[EMAIL PROTECTED]> wrote:
> Your regexp: '/^[[:alpha:]]/'
>
> should probably be '/^[[:alpha:]]+$/'
>
> On Apr 9, 3:05 pm, avairet <[EMAIL PROTECTED]> wrote:
>
> > Hi Max and Grigri,
>
> > I've retested some solutions to validate with a custom regex, but no
> > success!
> > It seems the problem is due to "utf-8", because in a "iso-8859-1"
> > context, it seems to work...
>
> > My environment:
>
> > Cake 1.2.x.x nightly builds
> > PHP 5.2.5
> > MySQL 5.0.45
> > Apache 2
>
> > I've setted my LOCALE in bootstrap.php like that:
>
> > $locale = 'fr_FR.UTF-8';
> > if (env('REMOTE_ADDR') === '127.0.0.1' ||
> > (isset($_SERVER['HTTP_USER_AGENT']) && strpos('Win',
> > $_SERVER['HTTP_USER_AGENT']) !== false))
> > {
> > $locale = 'fra';}
>
> > setlocale(LC_ALL, $locale);
>
> > And in my Model, I put this validation criteria:
>
> > public $validate = array(
> > 'prenom' => array(
> > 'alphabet'
> > => array(
> >
> > 'rule' => array('custom', '/^[[:alpha:]]+$/'),
> >
> > 'message' => 'Caractères interdits'
> > )
> > )
> > )
>
> > And another test with:
>
> > public $validate = array(
> > 'prenom' => array(
> > 'alphabet'
> > => array(
> >
> > 'rule' => array('custom', '/^\w+$/'),
> >
> > 'message' => 'Caractères interdits'
> > )
> > )
> > )
>
> > And another again:
>
> > public $validate = array(
> > 'prenom' => array(
> > 'alphabet'
> > => array(
> >
> > 'rule' => array('custom', '/^[a-z]+$/i'),
> >
> > 'message' => 'Caractères interdits'
> > )
> > )
> > )
>
> > For all this pattern, if I put accented chars in my form, the
> > validation allways fails!
> > I've tested under Windows and Linux, with and without the LOCALE
> > There is only one case which works partially:
>
> > public $validate = array(
> > 'prenom' => array(
> > 'alphabet'
> > => array(
> >
> > 'rule' => array('custom', '/^[[:alpha:]]/'),
> >
> > 'message' => 'Caractères interdits'
> > )
> > )
>
> > In this case, if I put an accented chars at the first place, the
> > validation is OK ?! But if I put a symbol at the second place, the
> > validation is OK too ?!
>
> > Maybe my regex patterns are not well-formated?
> > Maybe my combination with "setlocale" is not good?
>
> > Actually, it's a really problem for non-english lexical...
>
> > On 9 avr, 07:53, Max Romantschuk <[EMAIL PROTECTED]> wrote:
>
> > > On Apr 8, 3:04 pm, grigri <[EMAIL PROTECTED]> wrote:
>
> > > > For a locale-based solution, has anyone tried just using the \w
> > > > metachar, as in : `/^\w+$/` ?
>
> > > > Does this work?
>
> > > From what I could tell in PCRE's docs, how PCRE behaves is dependent
> > > on how it is compiled. At least the i-modifier is, according to the
> > > docs, do I'd assume the \w character class is as well. I wanted a
> > > solution that would be as immune as possible to installation dependent
> > > things like this. \w is the correct solution in theory, but I can't
> > > have my apps breaking because PRCE behaves a little bit differently in
> > > Linux distro X... :)
>
> > > .max
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---