Thursday 26 February 2015

Validation

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;
 }
}

No comments:

Post a Comment