检查两个锥体是否为空

时间:2013-09-06 23:21:09

标签: c++ blackberry-10

我是C ++场景的新手,所以我想知道如何验证这两个字段是否输入了一些文本,这里是当前只验证一个字段的代码

void App::requestLogin(const QString &email, const QString &password) {
    if (m_active)
        return;

    //how can I do both password and email here????
    const QStringList list = email.split(QRegExp("\\s+"), QString::SkipEmptyParts);
    if (list.isEmpty()) {
        m_errorMessage = "please complete both fields";
        m_error = true;
        emit statusChanged();
        return;
    }
}

2 个答案:

答案 0 :(得分:1)

这些方面的东西:

if (list.isEmpty() && password.isEmpty())

我不确定你为何“拆分”电子邮件。如果它只是用于登录目的的电子邮件地址,您应该能够email.isEmpty()而不是使用正则表达式拆分。

答案 1 :(得分:1)

很难理解你的意思,但这是我根据你的错误信息猜测的。你甚至不需要正则表达式。即使你需要,也应该使用QRegularExpression而不是速度慢得多的QRegExp。

void App::requestLogin(const QString &email, const QString &password) {
    if (m_active)
        return;

    ...

    if (email.isEmpty() || password.isEmpty()) {
        m_errorMessage = "please complete both fields";
        m_error = true;
        emit statusChanged();
        return;
    }
}

此操作也比您在评论中写的&&更符合逻辑,因为通常您需要同时提供电子邮件密码。基本上,如果其中任何一个满足,条件将满足。这意味着如果任何输入字段保持为空,您将引发错误,这似乎是一种合理的行为。