Android input validation when a button is pressed and display the validation message in a dialog as shown below.
Codename is required
Password is required
USername is required.
Enter the valid Email id.
Dismiss
This is my code:
btninsert = (Button)findViewById(R.id.new_customer);
btninsert.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText Firstname = (EditText) findViewById(R.id.tf_userName);
EditText Lastname = (EditText) findViewById(R.id.tf_password);
EditText Baddress = (EditText) findViewById(R.id.tf_address);
if(Firstname.getText().toString().length() == 0 )
Firstname.setError( "Firstname is required!" );
else if(Lastname.getText().toString().length() == 0 )
Lastname.setError( "Lastname is required!" );
else if(Baddress.getText().toString().length() == 0 )
Baddress.setError( "Address is required!" );
else
insertValues();
}
});
How can i validate.
Change current code as for input validation on EditText show validation message in a dialog :
First create a method for showing Alert as:
public void showAlertbox(String erroMessage){
AlertDialog alertDialog = new AlertDialog.Builder(
YOur_Current_Activity.this).create();
// Setting Dialog Title
alertDialog.setTitle("Error Message");
// Setting Dialog Message
alertDialog.setMessage(erroMessage);
// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Write your code here to execute after dialog closed
}
});
// Showing Alert Message
alertDialog.show();
}
Make a method to check validation on String :
public static boolean notEmpty(String s) {
return (s != null && s.length() > 0);
}
call this method on button click as:
btninsert.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(notEmpty(Firstname.getText().toString())){
if(notEmpty(Lastname.getText().toString())){
if(notEmpty(Baddress.getText().toString())){
// instert here
insertValues();
}else{
showAlertbox("Baddress Name Empty!!");
}else{
showAlertbox("Lastname Name Empty!!");
}
}
else{
showAlertbox("First Name Empty!!");
}
}
//...your code here
We can do the edittext validation inside a dialog box like below. Decide the scope according to your requirement.
private EditText name;
private boolean valid = false;
public void showDialog() {
final Dialog dialog= new Dialog(Activity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.custom_dialog);
name= (EditText) dialog.findViewById(R.id.et_name);
Button btnSubmit = (Button) dialog.findViewById(R.id.btn_submit);
Button btnCancel = (Button) dialog.findViewById(R.id.btn_cancel);
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//validate the edit text
if(validateName()) {
// add your code here
dialog.cancel();
}
}
});
}
private boolean validateName() {
valid = true;
if(name.getText().toString().isEmpty()){
valid =false;
name.setError("is empty");
}
return valid;
}