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

Discussion :

Vérification d'un QLineEdit pour qu'il soit bien un email

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut Vérification d'un QLineEdit pour qu'il soit bien un email
    Bonjour,

    Je travaille sur un logiciel et j'ai une fenetre en préambule de l'application qui demande, le nom, prénom et adresse email à l'utilisateur.
    Le mail est envoyé par le module smtp de Raivis Strogonovs.
    J'essai de faire vérifier que l'adresse entrée soit bien un email.

    Voici mon code dans mainwindows.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    envoiMail::envoiMail()
    {
        prenom = new QLineEdit(this);
        nom = new QLineEdit(this);
        adresse = new QLineEdit(this);
        envoi = new QPushButton(tr("Envoyer"), this);
        smtp = new Smtp("noreply.callimarco@gmail.com", "callimarco123", "smtp.gmail.com");
     
        QFormLayout *lay = new QFormLayout;
        QVBoxLayout *layPrinc = new QVBoxLayout;
     
        lay->addRow(tr("Prénom: "), prenom);
        lay->addRow(tr("Nom: "), nom);
        lay->addRow(tr("Adresse Mail: "), adresse);
     
        if(adresse.contains(QRegExp("^[\w|\.]+@[\w]+\.[\w]{2,4}$")))
        {
            QMessageBox::information(this, "Message envoyé","Message envoyé");
            this->close();
        }
        else
                QMessageBox::critical (this, "l'adresse", EntryText + " n'est pas valide !");
        return;
     
        layPrinc->addLayout(lay);
        layPrinc->addWidget(envoi);
     
        setLayout(layPrinc);
     
        setWindowIcon(QIcon(QCoreApplication::applicationDirPath()+"/img/ico_32.png"));
     
        connect(envoi, SIGNAL(clicked()), this, SLOT(envoyerMail()));
        QWidget::connect(smtp, SIGNAL(status(QString)), this, SLOT(mailEnvoye(QString)));
    }
     
    envoiMail::~envoiMail()
    {
        smtp->deleteLater();
    }
     
    void envoiMail::envoyerMail()
    {
        QString corps = "Voici les informations à propos de la nouvelle demande \nPrénom: " + prenom->text() + "\nNom: " + nom->text() + "\nAdresse mail: " + adresse->text() + genererCode();
        smtp->sendMail(information personnelle ,corps);
        //QMessageBox::information(this, tr("Mail envoyé"), tr("Votre demande a bien été envoyée, consultez vos mails régulièrement pour le récupérer."));
        QFile fic(QCoreApplication::applicationDirPath()+"/infos.txt");
        if(fic.open(QIODevice::WriteOnly))
        {
            QTextStream flux(&fic);
            flux << "Attente";
            fic.close();
            qDebug() << "Fini fichier";
        }
     
        //this->close();
    }
    void envoiMail::mailEnvoye(QString status)
    {
        if (status == "Message sent")
        {
            QMessageBox::information(this, "Message envoyé","Message envoyé");
            this->close();
        }
    }
    C'est clairement la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(adresse.contains(QRegExp("^[\w|\.]+@[\w]+\.[\w]{2,4}$")))
    qui ne fonctionne pas.

    Ca me sort tout un tas de problème à la compilation.
    Je ne suis pas très doué en programmation et je bidouille ce que je peux.
    Si quelqu'un peut me mettre sur une piste, j'en serai très reconnaissant.

    Benjamin

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 737
    Par défaut
    Bonjour.

    Qt propose un système de validator pour justement valider on non le contenu d'un QLineEdit.

    Il y a plusieurs types de validateurs (pour entier, nombre flottant ou expréssion régulière), celui qu'il te faut est le QRegExpValidator auquel tu peux passer ton expréssion régulière.

    Tout est très bien décrit dans le documentation.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Par défaut
    Merci je vais regarder.

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2010, 22h09
  2. [MySQL] Modifier un formulaire pour qu'il soit dynamique
    Par Baldy dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 28/10/2008, 11h24
  3. redimensionner une image pour qu'elle soit carrée
    Par SmileSoft dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/09/2008, 16h28
  4. Comment stocker une macro pour qu'elle soit accessible partout
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 06/06/2008, 23h11
  5. comment mettre un width pour qu'il soit pris di
    Par hstlaurent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/06/2005, 19h48

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