Immaginavo di dover fare qualcosa in più passaggi.

Farò una select con le province e, quando l'utente invia il form, verrà generato l'errore relativo al comune non compilato.
A questo punto, genererò un'altra select con l'elenco dei comuni relativi alla provincia selezionata e stamperò l'errore del comune mancante.

Non è il massimo dell'eleganza, ma è solo per chi ha javascript disabilitato.

Purtroppo la casella di testo è da escludere perchè a database salvo solo il codice istat e non posso chiedere all'utente di inserire quello.

Grazie delle risposte