Methods to check form validity and to count invalid form fields
If you are using Google's guava, I would suggest:

@Override
public boolean isValid() {
  // Firstly, flat your Iterable&lt;Iterable&lt;Component&gt;&gt; getFormSections()
  // into Iterable&lt;Component&gt;.
  // Then we use a Predicate to check whether there is any match.
  return Iterables.all(
    Iterables.concat(getFormSections()), validComponents()); 
}

@Override
public int countErrors() {
   return Iterables.size(
      Iterables.filter(Iterables.concat(getFormSections()), Predicates.not(validComponents()));

}

// - Positive names is always preferable
// - This method is static simply because it does not access to any instance varibles. It is easier to extract it out into another class.
private static Predicate&lt;Component&gt; validComponent() {
  new Predicate&lt;Component&gt;() {
      @Override
      public boolean apply(Component input) {
        return // your logic here
      }
    };
}