Cake PHP : correction d'une regex pour les méthodes de validation (395 lectures)

200830/07

cake phpOn en parlait il y a peu, la version 1.2 a apporté des nouvelles méthodes de validation des données plus performantes.

L'une d'entres-elles, chargée de vérifié si un champ ne contient que des données alphanumériques, ne fonctionne pas correctement.

Voici un petit patch correctif à appliquer. 

Pour valider un champ de type alphanumérique avec CakePHP, il suffit de déclarer dans son modèle :

  1. var $validate = array(
  2.        'title'    => array('rule' => 'alphaNumeric',
  3.                 'message'=>'Entrer un titre'
  4.                
  5.         )
  6.     );

Pourtant, cette simple règle ne fonctionnera pas si on ajoute des espaces dans un champ.

Editez pour cela le fichier validation.php qui se trouve dans cake/libs/ et remplacer dans la méthode alphaNumeric la ligne

  1. $_this->regex = '/[^\\dA-Z]/i';

par la ligne

  1. $_this->regex = '/([^\\dA-Z][\s])/i';

le \s prenant en compte les espaces.

C'était pas compliqué mais ça peut aider.

Note : si je soumets pas le problème dans le tracker de Cake PHP, c'est tout simplement qu'ils n'en veulent pas (encore), pretextant de travailler sur une Release Candidate. 

 

 

 

 

Dernière modification : 01/10/2008

Catégorie : CakePHP -

A découvrir également :

 

23 memos XHTML/CSS, Javascript, SEO et autres

Pékin 2008 : J-8

Commentaires

Ajouter un commentaire

Les champs en gras sont obligatoires.

Commentaire:

Anti-spam :
Veuillez répondre à la question suivante avant de valider votre commentaire.

La somme de 1 plus 17 est égale à