title: Form Validation in android TextInputLayout not working correctly
body: <p>I am trying to validate the form, i am using TextInputLayout error to show the error, when i click submit button in empty form, the error is shown in only Name field, and the error is not hiding when i fill the name text. Also the other fields not showing validation error.</p>
  
  <p><strong>activity_form.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ScrollView android:layout_height="match_parent"
      android:layout_width="match_parent"
      xmlns:android="http://schemas.android.com/apk/res/android" &gt;
  
      &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_margin="8dp"
          android:orientation="vertical"&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/nameTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:id="@+id/formNameEdit"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="@string/form_hint_name"
                  android:inputType="textPersonName"
                  android:imeOptions="actionNext"
                  android:maxLines="1" /&gt;
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/EmailTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:id="@+id/formEmailEdit"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="@string/form_hint_email"
                  android:inputType="textEmailAddress"
                  android:imeOptions="actionNext"
                  android:maxLines="1" /&gt;
  
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/PhoneTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="@string/form_hint_mobile_number"
                  android:imeOptions="actionNext"
                  android:id="@+id/formMobileEdit"
                  android:inputType="number"
                  android:maxLines="1" /&gt;
  
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/AlternateTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="@string/form_hint_alternate_number"
                  android:imeOptions="actionNext"
                  android:id="@+id/formAlternateEdit"
                  android:inputType="number"
                  android:maxLines="1" /&gt;
  
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/JEETextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:imeOptions="actionNext"
                  android:id="@+id/formJeeEdit"
                  android:hint="@string/form_hint_jee"
                  android:inputType="number"
                  android:minLines="1" /&gt;
  
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/PercentageTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:hint="@string/form_hint_percentage"
                  android:imeOptions="actionNext"
                  android:id="@+id/formPerEdit"
                  android:inputType="numberDecimal"
                  android:minLines="1" /&gt;
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;android.support.design.widget.TextInputLayout
              android:id="@+id/CityTextInputLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;android.support.design.widget.TextInputEditText
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:imeOptions="actionNext"
                  android:hint="@string/form_hint_city"
                  android:id="@+id/formCityEdit"
                  android:inputType="text" /&gt;
  
          &lt;/android.support.design.widget.TextInputLayout&gt;
  
          &lt;LinearLayout
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"&gt;
  
              &lt;Spinner
                  android:id="@+id/deptSpinner"
                  android:layout_width="0dp"
                  android:layout_weight="1"
                  android:layout_height="wrap_content"
                  &gt;
  
              &lt;/Spinner&gt;
  
              &lt;Spinner
                  android:id="@+id/SourceSpinner"
                  android:layout_width="0dp"
                  android:layout_weight="1"
                  android:layout_height="wrap_content"&gt;
              &lt;/Spinner&gt;
  
  
          &lt;/LinearLayout&gt;
  
          &lt;Button
              android:id="@+id/submit_btn"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:background="@drawable/roundedbutton"
              android:text="@string/form_submit_btn" /&gt;
      &lt;/LinearLayout&gt;
  
  &lt;/ScrollView&gt;
  </code></pre>
  
  <p><strong>FormActivity.java</strong></p>
  
  <pre><code>mSubmitBtn.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                 Validation();
              }
          });
  
  private void Validation(){
          boolean isValid = true;
          String dept = mDepartmentSpinner.getSelectedItem().toString();
          String source = mSourceSpinner.getSelectedItem().toString();
  
          String name = NameInputLayout.getEditText().getText().toString();
  
          if(NameInputLayout.getEditText().getText().toString().isEmpty()){
              NameInputLayout.setError("Enter Name");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
              Log.d("form error", "Error removed");
          }
          String email = EmailInputLayout.getEditText().getText().toString();
          if(EmailInputLayout.getEditText().getText().toString().isEmpty()){
              NameInputLayout.setError("Enter Email");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
          String phone = PhoneInputLayout.getEditText().getText().toString().trim();
          if(phone.isEmpty()){
              NameInputLayout.setError("Enter Phone Number");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
          String alternate_num = AlternateInputLayout.getEditText().getText().toString();
          if(alternate_num.isEmpty()){
              NameInputLayout.setError("Enter Alternate Number");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
          String jee_marks = JeeInputLayout.getEditText().getText().toString();
          if(jee_marks.isEmpty()){
              NameInputLayout.setError("Enter Roll Number");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
          String percentage = PercentageInputLayout.getEditText().getText().toString();
          if(percentage.isEmpty()){
              NameInputLayout.setError("Enter Percentage");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
          String city = CityInputLayout.getEditText().getText().toString();
          if(city.isEmpty()){
              NameInputLayout.setError("Enter Name");
              isValid = false;
          }else {
              NameInputLayout.setErrorEnabled(false);
          }
  
  
          if(isValid){
  
              Boolean insert = dbHelper.insertForm(name,email,phone,alternate_num,jee_marks,percentage,city,dept,source);
  
              if(insert == true){
  
                  Toast.makeText(getApplicationContext(),"Form Submitted",Toast.LENGTH_SHORT).show();
                  Intent intent = new Intent(FormActivity.this, MainActivity.class);
                  startActivity(intent);
  
              }else {
                  Toast.makeText(getApplicationContext(),"Error",Toast.LENGTH_SHORT).show();
              }
  
          }
  }
  </code></pre>