在Android中显示所有setError消息

问题描述 投票:-1回答:3
if (!validateEmail(email) || (TextUtils.isEmpty(email))) {
        emailwrapper.setError("Invalid email");
    } else {
        emailwrapper.setError(null);
    }

    if (password.length() < 6 || (TextUtils.isEmpty(password))) {
        passwordwrapper.setError("Password must have at least 6 characters");
        return;

    } else {
        passwordwrapper.setError(null);
    }
    startActivity(new Intent(SignupActivity.this, MoreInfo.class));

如果将两个文本输入布局留空,并且确保用户无法使用正确填写的密码继续使用MoreInfo类,我将如何设置它以便显示两条错误消息?

android android-textinputlayout textinputlayout
3个回答
1
投票

创建一个函数,它返回一个布尔值,并根据该值继续进行:

private boolean areAllFieldsValid() {
    boolean returnValue = true;
    if (!validateEmail(email) || (TextUtils.isEmpty(email))) {
        emailwrapper.setError("Invalid email");
        returnValue = false;
    } else {
        emailwrapper.setError(null);
    }

    if (password.length() < 6 || (TextUtils.isEmpty(password))) {
        passwordwrapper.setError("Password must have at least 6 characters");
        returnValue = false;
    } else {
        passwordwrapper.setError(null);
    }
    return returnValue;
}

现在使用以下方法检查此条

if(areAllFieldsValid()){
    startActivity(new Intent(SignupActivity.this, MoreInfo.class));
}

1
投票

使用基于验证条件的布尔变量然后导航。试试以下样本

 boolean valid = true;

    if (!validateEmail(email) || (TextUtils.isEmpty(email))) {
            valid = false;
            emailwrapper.setError("Invalid email");
        } else {
            valid = true;
            emailwrapper.setError(null);
        }

        if (password.length() < 6 || (TextUtils.isEmpty(password))) {
             valid = false;
            passwordwrapper.setError("Password must have at least 6 characters");

        } else {
             valid = true;
            passwordwrapper.setError(null);
        }

        if(valid)
          startActivity(new Intent(SignupActivity.this, MoreInfo.class));

0
投票

创建方法布尔值以检查

       if(isValid()){
                startActivity(new Intent(SignupActivity.this, MoreInfo.class));
            }

布尔方法

    private boolean isValid() {
    if (!validateEmail(email) || (TextUtils.isEmpty(email))) {
    emailwrapper.setError("Invalid email");
    return false;
    } else {
    emailwrapper.setError(null);
    emailwapper.setErrorEnabled(false);
    }

    if (password.length() < 6 || (TextUtils.isEmpty(password))) {
    passwordwrapper.setError("Password must have at least 6 characters");
    return false;

    } else {
    passwordwrapper.setError(null);
    passwordwapper.setErrorEnabled(false);
    }

    retun true;
    }
© www.soinside.com 2019 - 2024. All rights reserved.