Validation in android

import java.util.regex.Pattern;


import android.app.AlertDialog;
import android.content.DialogInterface;
import android.widget.EditText;

public class ValidationManager {

// a result of the validation of the fields from the form
public static final int ALERT_OK = 0; // parameters is entered correctly
public static final int ALERT_LOGIN = 1; // incorrect login
public static final int ALERT_PASSWORD = 2; // incorrect password
public static final int ALERT_PASSWORD_REPEAT = 3; // incorrect password
public static final int ALERT_FULLNAME = 4; // incorrect fullname
public static final int ALERT_EMAIL = 5; // incorrect email
public static final int ALERT_FILL_ALL_FIELDS = 6;
public static final int ALERT_PASSWORD_DIDNOT_MATCH = 7;
public static final int ALERT_FIRST_NAME = 8;
public static final int ALERT_LAST_NAME = 9;
public static final int ALERT_COUNTRY = 10;
public static final int ALERT_CITY = 11;
public static final int ALERT_ZIP_CODE = 12;
public static final int ALERT_PASSWORD_LENGTH = 13;
public static final int ALERT_INVALID_EMAIL = 14;
public static final int ALERT_PUBLIC_NAME = 15;
public static final int ALERT_PHONE = 16;

//  An email-validation using the regular expression
public final static Pattern EMAIL_ADDRESS_PATTERN = Pattern
.compile("[a-zA-Z0-9+._%-+]{1,256}" + "@"
+ "[a-zA-Z0-9][a-zA-Z0-9-]{0,64}" + "(" + "."
+ "[a-zA-Z0-9][a-zA-Z0-9-]{0,25}" + ")+");

public static boolean checkEmail(String email) {
   return EMAIL_ADDRESS_PATTERN.matcher(email).matches();
}


public static int checkInputParameters(EditText login, EditText pass) {

String fieldLogin = login.getText().toString();
String fieldPass = pass.getText().toString();

if (fieldLogin.length() == 0) {
return ALERT_LOGIN;
}

if (fieldPass.length() == 0) {
return ALERT_PASSWORD;
}

return ALERT_OK;
}

public static int checkInputParameters(EditText login, EditText pass, EditText pass2,
EditText fullname) {

String fieldLogin = login.getText().toString();
String fieldPass = pass.getText().toString();
String fieldPass2 = pass2.getText().toString();
String fieldFullname = fullname.getText().toString();

if (fieldFullname.length() == 0) {
return ALERT_FULLNAME;
}

if (fieldLogin.length() == 0) {
return ALERT_LOGIN;
}

if (fieldPass.length() == 0) {
return ALERT_PASSWORD;
}

if(!fieldPass.equals(fieldPass2)){
return ALERT_PASSWORD_REPEAT;
}

return ALERT_OK;
}

public static int checkInputParameters(String email, String pass, String conPass, String firstName,
String lastName, String publicName, String phone) {

if(email.equalsIgnoreCase("") && pass.equalsIgnoreCase("") && conPass.equalsIgnoreCase("")
&& firstName.equalsIgnoreCase("") && lastName.equalsIgnoreCase("") && publicName.equalsIgnoreCase("")
&& phone.equalsIgnoreCase("")){

return ALERT_FILL_ALL_FIELDS;
}
if (publicName.length() == 0) {
return ALERT_PUBLIC_NAME;
}
if (firstName.length() == 0) {
return ALERT_FIRST_NAME;
}

if (lastName.length() == 0) {
return ALERT_LAST_NAME;
}
if (email.length() == 0) {
return ALERT_EMAIL;
}

if(email.length() > 0){
if(!checkEmail(email)){
return ALERT_INVALID_EMAIL;
}
}

if (phone.length() == 0) {
return ALERT_PHONE;
}
if (pass.length() == 0) {
return ALERT_PASSWORD;
}

if (pass.length() > 0 && pass.length() < 6) {
return ALERT_PASSWORD_LENGTH;
}

if (conPass.length() == 0) {
return ALERT_PASSWORD_REPEAT;
}

if(!pass.equals(conPass)){
return ALERT_PASSWORD_DIDNOT_MATCH;
}

return ALERT_OK;
}
}




Usage:

int validationResult = ValidationManager.checkInputParameters(
strEmail, strPassword, strConfirmPass, strFirstName,
strLastName, strPublicName, strPhone);


if (validationResult != ValidationManager.ALERT_OK) {

switch (validationResult) {
case ValidationManager.ALERT_FILL_ALL_FIELDS:
alertMessage = "Please fill all fields.";
break;
case ValidationManager.ALERT_PUBLIC_NAME:
alertMessage = "Please enter your Username.";
break;
case ValidationManager.ALERT_FIRST_NAME:
alertMessage = "Please enter first name.";
break;

case ValidationManager.ALERT_LAST_NAME:
alertMessage = "Please enter last name.";
break;

case ValidationManager.ALERT_EMAIL:
alertMessage = "Email can not be empty.";
break;

case ValidationManager.ALERT_INVALID_EMAIL:
alertMessage = "Please enter a valid email address.";
break;

case ValidationManager.ALERT_PHONE:
alertMessage = "Please enter your phone no";
break;

case ValidationManager.ALERT_PASSWORD:
alertMessage = "Password can not be empty.";
break;

case ValidationManager.ALERT_PASSWORD_REPEAT:
alertMessage = "Repeat password can not be empty.";
break;

case ValidationManager.ALERT_PASSWORD_LENGTH:
alertMessage = "Password is too short.[min 6 characters].";
break;

case ValidationManager.ALERT_PASSWORD_DIDNOT_MATCH:
alertMessage = "Password didn't match.";
break;

}

AlertManager
.showAlert(CreateAccount.this, alertMessage)