title: validation using fieldgroup property vaadin
body: <p>I have this textfield</p>
  
  <pre><code>   firstNameField = new TextField("First Name");
      firstNameField.setRequired(true);
      firstNameField.setImmediate(true);
      firstNameField.setValidationVisible(true);
      firstNameField.setWidth(COMMON_FIELD_WIDTH);
      firstNameField.addValidator(new StringLengthValidator(
              "Allowed Length of Characters(2-30) ", 2, 30, true));
  
      firstNameField.setNullRepresentation(null);
  </code></pre>
  
  <p>this field is binded to bean property firstName</p>
  
  <pre><code>  binderFieldGroupPersonalDetails.bind(firstNameField, "firstName");
  </code></pre>
  
  <p>Now when I am using       </p>
  
  <pre><code>  binderFieldGroupPersonalDetails.commit;
  </code></pre>
  
  <p>there is no validation error with icon on commiting<br>
  but the requirederror is displayed on hovering over the fiels </p>
  
  <p>how can I prompt user about the empty field???<br>
  I tried this </p>
  
  <pre><code>   Button.ClickListener btnSaveContinuePersonalDetailsClickListener = new Button.ClickListener() {
  
      public void buttonClick(ClickEvent event) {
          try {
              // changes
                  // the
                  // tab
                  // layout
                  // to
                  // next
                  // tab
                  // on
                  // Successful
                  // commit
              binderFieldGroupPersonalDetails.commit();
              TabSheetLayout
                      .setSelectedTab(contentAccountDetailsRegistrationForm);
  
          } catch (CommitException e) {
  
  
              //lets add up all the error msg for missing fields
              Collection&lt;Field&lt;?&gt;&gt; fields = binderFieldGroupPersonalDetails.getFields();
              Iterator&lt;Field&lt;?&gt;&gt; it = fields.iterator();
              String errorMessage = "";
              while(it.hasNext()){
                  if(it.next().getValue()==null||it.next().getValue()==""){
                      errorMessage=errorMessage.concat("  "+it.next().getCaption()+" is required &lt;br&gt;");
  
                  }
              }
              getUI().showNotification("&lt;h6&gt;"+errorMessage+"&lt;h6&gt;",Notification.TYPE_ERROR_MESSAGE);
  
                  e.printStackTrace();
          }
  
      }
  };  
  </code></pre>