IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

Assert Regex pour un prix


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Par défaut Assert Regex pour un prix
    Bonjour à tous,

    J'essaye de mettre un Assert sur l'attribut Prix de mon objet.
    Je veux vérifier que la saisie de l'utilisateur correspond bien à un prix, c'est à dire : un ou plusieurs chiffres suivi(s) éventuellement d'un point et d'un ou deux chiffres.
    Logiquement, je fais donc ceci :
    @Assert\Regex("([0-9]+([.][0-9]{2})?)")
    La il me gueule dessus, je suis obligé d'ajouter des / de chaque côté :

    @Assert\Regex("/([0-9]+([.][0-9]{2})?)/")
    La, je peux taper : 12m50458, il le prend quand même. Bon bon bon. J'ai du louper un truc ?

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 141
    Par défaut
    Vérifie que tout est ok avec le script fourni avec symfony app/check.php à effectuer lors de l'installation.
    Pour les Assert et la validation, l'extension intl de PHP est nécessaire et il y a quelque fois des soucis (j'ai eu le problème avec Wamp personnellement).

    Le cas échéant, peux-tu copier ton code ici?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Par défaut
    Merci pour ta réponse KzrData
    Les Asserts fonctionnent bien dans mon projet.

    Je pense que je suis une bille en expression régulière.

    Je viens de la refaire patiemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Assert\Regex("#[0-9]+(\.[0-9]{1,2})?#")
    Au moins un ou plusieurs chiffres [0-9]+
    suivi d'éventuellement ()?
    un point et 1 ou deux chiffres \.[0-9]{1,2}

    J'ai raté un truc ?

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Bonjour,

    franchement je suis pas expert en symfony et ta regex semble correcte si ce n'est l'absence de ^ et $ pour indiquer le début et la fin de ta pattern, soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Assert\Regex("/^[0-9]+(\.[0-9]{1,2})?$/")
    Sans ces indications 12m50458 sera correct car il contiendra des parties vérifiées par ta pattern (ie: 1,2,12,5,0,4,5,8,50,04,45,58,504,045,458,5045,0458,50458 pour être exhaustif)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Par défaut
    Merci pour ta réponse CosmoKnacki
    Malheureusement, même avec tes indications (ajout du début et de la fin), "12m50" passe toujours

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Mince alors. je ne peux pas t'aider plus car je suis présentement en train de lire le Symfony Book (c'est en anglais, c'est l'horreur)

    Bonne chance

    (EDIT: tiens en fait il y a une version française )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Regex pour nettoyer des requêtes SQL
    Par gaboo_bl dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 26/03/2007, 12h03
  2. Utiliser Regex pour remplacement
    Par soveste dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 19/03/2007, 09h48
  3. [Notepad++] utiliser regex pour remplacer des caractères
    Par ilood dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/02/2007, 04h06
  4. [RegEx] Regex pour les accents et autres
    Par yule dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2006, 15h47
  5. Meilleur type de données pour un prix
    Par linar009 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/08/2006, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo