• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykluczające się metody, w czym problem ? - walidacja maila i sprawdzanie pustych pol [Android]

Object Storage Arubacloud
+1 głos
710 wizyt
pytanie zadane 17 stycznia 2016 w Java przez Swierzak Użytkownik (690 p.)

Witam

Jestem początkujący i zdaje sobie sprawy, że poniższy kod mógłby być lepiej napisany i błąd, który tu występuje jest pewnie błahy ;) Proszę o wyrozumiałość

Otóż na początku miałem jedynie metodę, która sprawdzała czy pole formularza rejestracji nie są puste. Kiedy dodałem metodę sprawdzającą poprawność wprowadzonego maila, ta pierwsza metoda się nie wywołuje.

 

public class ActivityRejestracja extends AppCompatActivity {
    private EditText emailEditText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rejestracja);
        emailEditText = (EditText) findViewById(R.id.email);

        findViewById(R.id.BtnZarejestruj).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                final String email = emailEditText.getText().toString();
                if (!isValidEmail(email)) {
                    emailEditText.setError("Podaj adres e-mail");
                }
            }
        });
    }

    private boolean isValidEmail(String email) {
        String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
                + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

        Pattern pattern = Pattern.compile(EMAIL_PATTERN);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }

    public void rejestracja(View view) {
        EditText login, password, password1,email;
        login = (EditText) findViewById(R.id.UsernameRej);
        password = (EditText) findViewById(R.id.PasswordRej);
        password1 = (EditText) findViewById(R.id.PasswordRej1);
        email = (EditText) findViewById(R.id.email);

        if ((login.getText().toString().trim().equals(""))) {
            login.setError("Podaj login!");
            //Toast.makeText(getApplicationContext(), "Podaj login!", Toast.LENGTH_SHORT).show();
        }
        else if ((email.getText().toString().trim().equals(""))) {
            email.setError("Podaj adres e-mail!");
            //Toast.makeText(getApplicationContext(), "Podaj adres e-mail!", Toast.LENGTH_SHORT).show();
        } else if ((password.getText().toString().trim().equals(""))) {
            password.setError("Podaj hasło!");
            //Toast.makeText(getApplicationContext(), "Podaj hasło!", Toast.LENGTH_SHORT).show();
        } else if ((password1.getText().toString().trim().equals(""))) {
            password1.setError("Powtórz hasło!");
            //Toast.makeText(getApplicationContext(), "Powtórz hasło!", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Zarejestrowano pomyślnie!", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        }

    }
}

 

1 odpowiedź

0 głosów
odpowiedź 17 stycznia 2016 przez Swierzak Użytkownik (690 p.)

Wszystko już się kompiluje ! nie napisze, że działa bo to prowizorka i patrząc w kod wygląda to tragicznie :) ale pożądany efekt otrzymałem.
Podpiąłem te if'y z metody "rejestracja" do metody "onClick"

Podobne pytania

0 głosów
1 odpowiedź 145 wizyt
+1 głos
2 odpowiedzi 666 wizyt
pytanie zadane 28 lutego 2016 w JavaScript przez Filip31411 Dyskutant (8,820 p.)
0 głosów
1 odpowiedź 461 wizyt

92,551 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...