Password validation confirmation in android

23,110

Solution 1

You cannot compare strings using = or !=, use equals instead

else if(!conpass.getText().toString().equals(pass.getText().toString()) )

Solution 2

Try this function:

public boolean isPasswordMatching(String password, String confirmPassword) {
    Pattern pattern = Pattern.compile(password, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(confirmPassword);

    if (!matcher.matches()) {
        // do your Toast("passwords are not matching");

        return false;
    }

    return true;
}
Share:
23,110
user218554
Author by

user218554

Updated on July 05, 2022

Comments

  • user218554
    user218554 almost 2 years

    I have this activity in which I want to validate the confirm password field.This is my code-:

    nt.setOnClickListener(new OnClickListener() { 
    
        public void onClick(View v) { 
    
             if(email.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("E-mail field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(pass.getText().toString().equals("")){
    
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Password  field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
    
                alertDialog.show();
            }
    
            else if(conpass.getText().toString()!= pass.getText().toString() ){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Passwords do not match");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(name.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Name field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(dob.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Date of birth field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(address.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Address field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(city.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("City field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(zip.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Zip field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(phone.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Phone No. field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
            else if(mobile.getText().toString().equals("")){
                AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
                alertDialog.setTitle("oops!");
                alertDialog.setMessage("Mobile No field is empty");
                alertDialog.setButton("Ok",
                new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                          //dismiss the dialog  
                        }
                    });
                alertDialog.show();
            }
    
            else{
    
                String mail = email.getText().toString();
    
                String pas = pass.getText().toString();
    
                String fname = name.getText().toString();
    
                String dateob = dob.getText().toString();
    
                String add12 = address.getText().toString();
    
                String tow = city.getText().toString();
    
                String zip1 = zip.getText().toString();
    
                String mob = mobile.getText().toString();
    
                String phn = phone.getText().toString();
    
                Intent per = new Intent(getApplicationContext(), Register2.class);
                per.putExtra("email", mail);
                per.putExtra("name", fname);
                per.putExtra("password", pas);
                per.putExtra("mobile", mob);
                per.putExtra("phone", phn);
                per.putExtra("address", add12);
                per.putExtra("zip", zip1);
                per.putExtra("city", tow);
                per.putExtra("dateofbirth", dateob);
                startActivity(per);
            }
    
        }
    });  
    

    Now even after I have both of the edittext field to be same it is still showing me the alert dialog that passwords do not match.Please help me out here.Thanks in advance.

  • Toby Speight
    Toby Speight over 7 years
    Whilst this code snippet is welcome, and may provide some help, it would be greatly improved if it included an explanation of how and why this solves the problem. Remember that you are answering the question for readers in the future, not just the person asking now! Please edit your answer to add explanation, and give an indication of what limitations and assumptions apply.