Grazie per la risposta 
Il problema secondo me è qui:
codice:
String eNome="";
if(nome.equals(""))
eNome+="Non hai riempito il campo Nome";
else
if(nome.matches("^[A-Z]{1}[a-zA-Z]{1,32}[^0-9]$")==false){
eNome+= "Il Nome deve cominciare con una lettera maiuscola (no numeri)";
}
er.add(eNome);
cioè, anche nel caso in cui è presente un nome e rispetta la regex viene inserita una stringa vuota nell'arraylist..
Ho seguito la stessa procedura anche in altri campi(ci sono altre 10 stringhe oltre ad eNome), quindi per questo motivo l'arraylist ha dimensione 10?