diff --git a/app/src/main/java/com/mifos/apache/fineract/ui/online/loanaccounts/loanapplication/loandetails/LoanDetailsFragment.java b/app/src/main/java/com/mifos/apache/fineract/ui/online/loanaccounts/loanapplication/loandetails/LoanDetailsFragment.java
index 3870d88..12048a1 100644
--- a/app/src/main/java/com/mifos/apache/fineract/ui/online/loanaccounts/loanapplication/loandetails/LoanDetailsFragment.java
+++ b/app/src/main/java/com/mifos/apache/fineract/ui/online/loanaccounts/loanapplication/loandetails/LoanDetailsFragment.java
@@ -28,7 +28,9 @@
 import com.mifos.apache.fineract.ui.base.MifosBaseFragment;
 import com.mifos.apache.fineract.ui.base.Toaster;
 import com.mifos.apache.fineract.ui.online.loanaccounts.loanapplication.OnNavigationBarListener;
+import com.mifos.apache.fineract.utils.Utils;
 import com.mifos.apache.fineract.utils.ValidateIdentifierUtil;
+import com.mifos.apache.fineract.utils.ValidationUtil;
 import com.stepstone.stepper.Step;
 import com.stepstone.stepper.VerificationError;
 
@@ -66,15 +68,24 @@
     @BindView(R.id.et_principal_amount)
     EditText etPrincipalAmount;
 
+    @BindView(R.id.til_principal_amount)
+    TextInputLayout tilPrincipalAmount;
+
     @BindView(R.id.et_term)
     EditText etTerm;
 
+    @BindView(R.id.til_term)
+    TextInputLayout tilTerm;
+
     @BindView(R.id.sp_term_unit_type)
     AppCompatSpinner spTermUnitType;
 
     @BindView(R.id.et_repay)
     EditText etRepay;
 
+    @BindView(R.id.til_repay)
+    TextInputLayout tilRepay;
+
     @BindView(R.id.sp_repay_unit_type)
     AppCompatSpinner spRepayUnitType;
 
@@ -362,23 +373,25 @@
             Double value = Double.parseDouble(etTerm.getText().toString());
 
             if (etTerm.getText().toString().equals("")) {
-                etTerm.setError(getString(R.string.required));
-                etTerm.requestFocus();
+                ValidationUtil.showTextInputLayoutError(tilTerm, getString(R.string.required));
                 return false;
             } else if (!(minimum <= value)) {
-                etTerm.setError(getString(R.string.value_must_greater_or_equal_to, minimum));
-                etTerm.requestFocus();
+                ValidationUtil.showTextInputLayoutError(tilTerm,
+                        getString(R.string.value_must_greater_or_equal_to,
+                                Utils.getPrecision(minimum)));
                 return false;
             } else if (!(value <= maximum)) {
-                etTerm.setError(getString(R.string.value_must_less_than_or_equal_to, maximum));
-                etTerm.requestFocus();
+                ValidationUtil.showTextInputLayoutError(tilTerm,
+                        getString(R.string.value_must_less_than_or_equal_to,
+                                Utils.getPrecision(maximum)));
                 return false;
             }
         } catch (NumberFormatException e) {
-            etTerm.setError(getString(R.string.required));
-            etTerm.requestFocus();
+            ValidationUtil.showTextInputLayoutError(tilTerm,
+                    getString(R.string.required));
             return false;
         }
+        ValidationUtil.hideTextInputLayoutError(tilTerm);
         return true;
     }
 
@@ -390,36 +403,33 @@
             Double value = Double.parseDouble(etPrincipalAmount.getText().toString());
 
             if (etPrincipalAmount.getText().toString().equals("")) {
-                etPrincipalAmount.setError(getString(R.string.required));
-                etPrincipalAmount.requestFocus();
+                ValidationUtil.isEmpty(getActivity(),
+                        etPrincipalAmount.getText().toString().trim(), tilPrincipalAmount);
                 return false;
             } else if (!(minimum <= value)) {
-                etPrincipalAmount.setError(
-                        getString(R.string.value_must_greater_or_equal_to, minimum));
-                etPrincipalAmount.requestFocus();
+                ValidationUtil.showTextInputLayoutError(tilPrincipalAmount,
+                        getString(R.string.value_must_greater_or_equal_to,
+                                Utils.getPrecision(minimum)));
                 return false;
             } else if (!(value <= maximum)) {
-                etPrincipalAmount.setError(
-                        getString(R.string.value_must_less_than_or_equal_to, maximum));
-                etPrincipalAmount.requestFocus();
+                ValidationUtil.showTextInputLayoutError(tilPrincipalAmount,
+                        getString(R.string.value_must_less_than_or_equal_to,
+                                Utils.getPrecision(maximum)));
                 return false;
             }
         } catch (NumberFormatException e) {
-            etPrincipalAmount.setError(getString(R.string.required));
-            etPrincipalAmount.requestFocus();
+            ValidationUtil.showTextInputLayoutError(tilPrincipalAmount,
+                    getString(R.string.required));
             return false;
         }
+        ValidationUtil.hideTextInputLayoutError(tilPrincipalAmount);
         return true;
     }
 
     @Override
     public boolean validateRepay() {
-        if (etRepay.getText().toString().equals("")) {
-            etRepay.setError(getString(R.string.required));
-            etRepay.requestFocus();
-            return false;
-        }
-        return true;
+        return ValidationUtil.isEmpty(getActivity(),
+                etRepay.getText().toString().trim(), tilRepay);
     }
 
     @Override
diff --git a/app/src/main/java/com/mifos/apache/fineract/utils/ValidationUtil.java b/app/src/main/java/com/mifos/apache/fineract/utils/ValidationUtil.java
index eba04ad..8f686e8 100644
--- a/app/src/main/java/com/mifos/apache/fineract/utils/ValidationUtil.java
+++ b/app/src/main/java/com/mifos/apache/fineract/utils/ValidationUtil.java
@@ -46,7 +46,18 @@
                     context.getString(R.string.required));
             return false;
         }
-        ValidateIdentifierUtil.showTextInputLayoutError(inputLayout, null);
+        hideTextInputLayoutError(inputLayout);
         return true;
     }
+
+    public static void showTextInputLayoutError(TextInputLayout textInputLayout,
+            String errorMessage) {
+        textInputLayout.setErrorEnabled(true);
+        textInputLayout.setError(errorMessage);
+    }
+
+    public static void hideTextInputLayoutError(TextInputLayout textInputLayout) {
+        textInputLayout.setErrorEnabled(false);
+        textInputLayout.setError(null);
+    }
 }
diff --git a/app/src/main/res/layout/fragment_loan_details.xml b/app/src/main/res/layout/fragment_loan_details.xml
index 9301261..382eb4b 100644
--- a/app/src/main/res/layout/fragment_loan_details.xml
+++ b/app/src/main/res/layout/fragment_loan_details.xml
@@ -50,7 +50,7 @@
                 <android.support.design.widget.TextInputLayout
                     android:id="@+id/til_short_name"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/layout_padding_4dp"
+                    android:layout_marginTop="@dimen/layout_padding_16dp"
                     android:layout_width="match_parent"
                     app:errorEnabled="true">
 
@@ -63,6 +63,7 @@
                 </android.support.design.widget.TextInputLayout>
 
                 <android.support.design.widget.TextInputLayout
+                    android:id="@+id/til_principal_amount"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/layout_padding_4dp"
                     android:layout_width="match_parent">
@@ -83,6 +84,7 @@
                     android:weightSum="2">
 
                     <android.support.design.widget.TextInputLayout
+                        android:id="@+id/til_term"
                         android:layout_height="match_parent"
                         android:layout_marginTop="@dimen/layout_padding_4dp"
                         android:layout_weight="1"
@@ -114,6 +116,7 @@
                     android:weightSum="2">
 
                     <android.support.design.widget.TextInputLayout
+                        android:id="@+id/til_repay"
                         android:layout_height="match_parent"
                         android:layout_marginTop="@dimen/layout_padding_4dp"
                         android:layout_weight="1"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fd88ccb..520833a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -201,8 +201,8 @@
     <string name="empty_customer_activities">There is no activities to show</string>
 
     <!--Edit Text validations-->
-    <string name="value_must_greater_or_equal_to">Value must be greater than or equal to&#160; %1$f</string>
-    <string name="value_must_less_than_or_equal_to">Value must be less than or equal to&#160; %1$f</string>
+    <string name="value_must_greater_or_equal_to">Value must be greater than or equal to&#160; %1$s</string>
+    <string name="value_must_less_than_or_equal_to">Value must be less than or equal to&#160; %1$s</string>
     <string name="amount_should_be_not_empty">Amount should not be empty</string>
     <string name="description_should_not_be_empty">Description should not be empty</string>
     <string name="customer_name_should_not_be_empty">Customer name should not be empty</string>
