Соединение двух условий

Ответить
Vashnaemnik
Сообщения: 6
Зарегистрирован: 12 янв 2021, 18:45

Соединение двух условий

Сообщение Vashnaemnik » 12 янв 2021, 19:12

Добрый вечер. Помогите новичку. Пытаюсь написать первое приложение. Застрял на странице регистрации. Есть три поля ввода. Email, пароль и подтверждение пароля. Первое условие, проверяем что бы все поля были заполнены. Второе условие, что бы пароли были одинаковы. По отдельности прописал, а вот как соединить условия не могу. Помогите пожалуйста.
Первое условие

Код: Выделить всё

btnRegister2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!TextUtils.isEmpty(spEmail.getText().toString()) && !TextUtils.isEmpty(spPass.getText().toString()) && !TextUtils.isEmpty(spConfirmPass.getText().toString())) {
                    mAuth.createUserWithEmailAndPassword(spEmail.getText().toString(), spPass.getText().toString()).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful()) {
                                Toast.makeText(getApplicationContext(), "Регистрация успешна", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(getApplicationContext(), "Данный email зарегистрирован", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                } else {
                    Toast.makeText(getApplicationContext(), "Заполните все поля", Toast.LENGTH_SHORT).show();
                }
            }
        });
Второе условие

Код: Выделить всё

@Override
public void onClick(View v) {

    String text1 = spPass.getText().toString();
    String text2 = spConfirmPass.getText().toString();

    if (text1.equals("") || text2.equals("")) {
        //нет пароля
        Toast.makeText(Register.this, "Пароли совпадают", Toast.LENGTH_LONG).show();
    } else {
        if (text1.equals(text2)) {
            //сохраняем пароль
            SharedPreferences settings = getSharedPreferences("PREPS", 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putString("password", text1);
            editor.apply();
        } else {
            //нет совпадений по паролям
            Toast.makeText(Register.this, "Пароли не совпадают", Toast.LENGTH_LONG).show();
        }
    }
}

Vashnaemnik
Сообщения: 6
Зарегистрирован: 12 янв 2021, 18:45

Re: Соединение двух условий

Сообщение Vashnaemnik » 12 янв 2021, 19:28

Решение нашел. Но при не совпадении паролей, он продолжает работать и регистрирует. Как остановить условие?

Код: Выделить всё

btnRegister2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!TextUtils.isEmpty(spEmail.getText().toString()) && !TextUtils.isEmpty(spPass.getText().toString()) && !TextUtils.isEmpty(spConfirmPass.getText().toString())) {

                    String text1 = spPass.getText().toString();
                    String text2 = spConfirmPass.getText().toString();

                    if (text1.equals("") || text2.equals("")) {
                        //нет пароля
                        Toast.makeText(Register.this, "Пароли совпадают", Toast.LENGTH_LONG).show();
                    } else {
                        if (text1.equals(text2)) {
                            //сохраняем пароль
                            SharedPreferences settings = getSharedPreferences("PREPS", 0);
                            SharedPreferences.Editor editor = settings.edit();
                            editor.putString("password", text1);
                            editor.apply();
                        } else {
                            //нет совпадений по паролям
                            Toast.makeText(Register.this, "Пароли не совпадают", Toast.LENGTH_LONG).show();
                        }
                    }

                    mAuth.createUserWithEmailAndPassword(spEmail.getText().toString(), spPass.getText().toString()).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful()) {
                                Toast.makeText(getApplicationContext(), "Регистрация успешна", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(getApplicationContext(), "Данный email зарегистрирован", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                } else {
                    Toast.makeText(getApplicationContext(), "Заполните все поля", Toast.LENGTH_SHORT).show();
                }
            }
        });

Vashnaemnik
Сообщения: 6
Зарегистрирован: 12 янв 2021, 18:45

Re: Соединение двух условий

Сообщение Vashnaemnik » 12 янв 2021, 19:33

Всем спасибо :) решение нашел, добавил return

Ответить