già che ne capisci magari riesci a darmi una mano... ci sono piccole cose che un po mi sfuggono in generale.
E qui mi sa che mischiando JQuery al resto sto peggiorando la situazione.
Vorrei avere come risultato il fatto di:

- scorrere tutti gli input, select e textarea
- controllare se l'attributo esiste ed è diverso da stringa vuota
- associare il valore dell'attributo al setCustumValidation

Vedendo i codici che mi avevi postato prima ho scritto questo mio codice, ma qualcosa non va
Codice PHP:
 $('input,select,textarea').each(function(index) {
     var 
errore=$(this).attr("data-err");
     if(
errore!=undefined){
    $(
this).oninvalid=function(e){ 
                                
e.target.setCustomValidity("");
                                if (!
e.target.validity.valid){
                                    
alert(errore);
                             
e.target.setCustomValidity(errore);
                            }            
                             }
    $(
this).oninput=function(e){ e.target.setCustomValidity(""); }
   }
 }); 
L'alert non visualizza mai nulla... se invece lo sposto subito dopo la lettura dell'attributo ottengo undefined quando non esiste ed il contenuto corretto quando esiste. Ora non capisco se l'if è sbagliato o cosa.