Tutorials Android Edittext Validation in Android Example

Edittext Validation in Android Example

This tutorial show you how to use EditText user interface widget in android and write validation for the inputs. In this example we will create an simple Signup form as attached in the screenshot below.

EditText widget in android allows us to enter data in UI like html web forms. It is an extends TextView and additional attributes that allows user to input values. It provides wide variety of input controls that enable select, cut, copy, paste of text into EditText.

Android Layout XML file

Let us create an layout xml file with two EditText field one for entering email-id and other for password.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F0F0F0"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="@string/lbl_register"
        android:textAllCaps="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#176CEC"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:ems="10"
        android:hint="@string/lbl_email_hint"
        android:inputType="textEmailAddress"
        android:padding="12dp" />

    <EditText
        android:id="@+id/editText_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="1dp"
        android:background="#fff"
        android:ems="10"
        android:hint="@string/lbl_password_hint"
        android:inputType="textPassword"
        android:padding="12dp" />

    <Button
        android:id="@+id/btn_signup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:background="#176CEC"
        android:text="@string/lbl_btn_signup"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#fff"
        android:textStyle="bold" />

</LinearLayout>

Android Layout XML file.

package com.javatechig;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MainActivity extends Activity {
	private EditText emailEditText;
	private EditText passEditText;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		emailEditText = (EditText) findViewById(R.id.editText_email);
		passEditText = (EditText) findViewById(R.id.editText_password);

		findViewById(R.id.btn_signup).setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				final String email = emailEditText.getText().toString();
				if (!isValidEmail(email)) {
					emailEditText.setError("Invalid Email");
				}

				final String pass = passEditText.getText().toString();
				if (!isValidPassword(pass)) {
					passEditText.setError("Invalid Password");
				}

			}
		});
	}

	// validating email id
	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();
	}

	// validating password with retype password
	private boolean isValidPassword(String pass) {
		if (pass != null && pass.length() > 6) {
			return true;
		}
		return false;
	}
}

Output

Validate EditText in Android

 

Total
5
Shares
6 comments
  1. Thank you so much. This is worked well. Great Tutorial. My Problem was not an email validation. It was a domain validation. I just removed the first part of the regular expression code.

    Only this.
    “[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$”;

    Thanks a lot.
    Sajith

Leave a Reply

Your email address will not be published.

Previous Post
Java Tutorials

How to convert UNIX date to String

Next Post
Android Tutorials

ActionBar with Custom View Example in Android

Related Posts
By clicking “Allow All”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Cookie Notice
Allow All