diff --git a/src/Form/FblConfiguration.php b/src/Form/FblConfiguration.php
index 698c815..45ba45f 100644
--- a/src/Form/FblConfiguration.php
+++ b/src/Form/FblConfiguration.php
@@ -38,8 +38,6 @@ class FblConfiguration extends ConfigFormBase {
       '#collapsible' => FALSE,
       '#tree' => TRUE,
     ];
-
-    $bundleFields[] = '';
     // todo : in feature profile 2 should work :
     $entity_type_id = 'user';
     $bundle = 'user';
@@ -98,9 +96,10 @@ class FblConfiguration extends ConfigFormBase {
 
   public function validateForm(array &$form, \Drupal\Core\Form\FormStateInterface $form_state) {
     $field_name = $form_state->getValue(['field_based_login', 'field']);
+    $user_count = _fbl_user_count();
+    $field_data_count = _fbl_field_data_count($field_name);
     $entity_type_id = 'user';
     $bundle = 'user';
-    $bundleFields = array();
     foreach (\Drupal::entityManager()->getFieldDefinitions($entity_type_id, $bundle) as $field_name_value => $field_definition) {
       if (!empty($field_definition->getTargetBundle())) {
         if ($field_name_value == $field_name) {
@@ -111,6 +110,14 @@ class FblConfiguration extends ConfigFormBase {
     if ($is_required == '') {
       drupal_set_message(t('Selected field is not mandatory.'), 'warning');
     }
+    if ($user_count > $field_data_count) {
+      drupal_set_message(t('Selected field is not having data for some of the user'), 'warning');
+    }
+    if (isset($field_name) && !empty($field_name)) {
+      if (_fbl_check_for_duplicates($field_name)) {
+         $form_state->setErrorByName('field', t('Selected field is not unique filed. There are duplicates found, Please contact administration or change different field.'));
+      }
+    }
   }
 
   /**
@@ -132,3 +139,46 @@ class FblConfiguration extends ConfigFormBase {
   }
 
 }
+
+function _fbl_check_for_duplicates($field_name) {
+  $table_name = 'user__' . $field_name;
+  $table_column = $field_name . '_value';
+  //query to find the number of unique values of the login selected field
+  $query = db_select($table_name, 't');
+  $query->fields('t', array($table_column));
+  $query->groupBy('t.' . $table_column);
+  $query->condition('t.bundle', 'user');
+  $row_count = $query->countQuery()->execute()->fetchField();
+  // todo : exception handling
+  if ($row_count > 1) {
+    return TRUE;
+  }
+  return FALSE;
+}
+
+/**
+ * Returns number of user
+ * @return string
+ */
+function _fbl_user_count() {
+  $query = db_select('users', 'u');
+  $query->fields('u', array('uid'));
+  $query->condition('u.uid', '0', '!=');
+  $user_count = $query->countQuery()->execute()->fetchField();
+  return $user_count;
+}
+
+/**
+ * @param string $field_name
+ * @return integer
+ * Returns how many fields having value
+ */
+function _fbl_field_data_count($field_name) {
+  $table_name = 'user__' . $field_name;
+  $table_column = $field_name . '_value';
+  $query = db_select($table_name, 'field_value');
+  $query->fields('field_value', array($table_column));
+  $query->condition('field_value.bundle', 'user');
+  $field_data_count = $query->countQuery()->execute()->fetchField();
+  return $field_data_count;
+}
