04/12/14 23:29
Falcone
Buonasera a tutti. Ultimamente sto cercando di aggiornarmi sulle novità di html5, in particolare, su quelle relative alla validazione dei form. Sto incontrando diversi problemi nella modifica dei messaggi di errore predefiniti, per capirci, quelli che vengono mostrati a video se non si rispetta il pattern o se magari viene lasciato vuoto un campo definito required.
Sto lavorando su un form di registrazione con alcuni campi (nickname, password, conferma password, email etc etc).
Ci sono alcuni comportamenti che non mi piacciono. Per esempio quando compilo un campo in modo errato, per esempio lasciando vuoto un campo required, cliccando sul submit esce naturalmente il messaggio d'errore. A questo punto però se come messaggio di errore uso quello non predefinito, ossia quello da me modificato, andando a correggere il campo errato ad ogni nuovo carattere inserito ricompare il medesimo messaggio di errore anche se il campo è diventato valido. Sarebbe più gradevole che il messaggio d'errore scompaia nel momento in cui il contenuto value errato venga corretto. Come posso ottenere questo risultato? C'è qualcuno che ha già riscontrato questo problema e può aiutarmi? Vi posto anche il codice javascript.
Sto lavorando su un form di registrazione con alcuni campi (nickname, password, conferma password, email etc etc).
Ci sono alcuni comportamenti che non mi piacciono. Per esempio quando compilo un campo in modo errato, per esempio lasciando vuoto un campo required, cliccando sul submit esce naturalmente il messaggio d'errore. A questo punto però se come messaggio di errore uso quello non predefinito, ossia quello da me modificato, andando a correggere il campo errato ad ogni nuovo carattere inserito ricompare il medesimo messaggio di errore anche se il campo è diventato valido. Sarebbe più gradevole che il messaggio d'errore scompaia nel momento in cui il contenuto value errato venga corretto. Come posso ottenere questo risultato? C'è qualcuno che ha già riscontrato questo problema e può aiutarmi? Vi posto anche il codice javascript.
function funz_messaggi_errore(evt){ evt.target; var messaggio=""; evt.target.setCustomValidity(""); if(evt.target.validity.valueMissing) //valore non inserito messaggio += "Questo campo è a obbligatorio\n"; if(evt.target.validity.patternMismatch) //espressione regolare non rispettata messaggio += "Alcuni caratteri non sono consentiti\n"; evt.target.setCustomValidity(messaggio); } function funz_validazione(evt){ var field = evt.target; field.setCustomValidity(""); if (!field.checkValidity()){ funz_messaggi_errore(evt); return; } } valueNickname.addEventListener("invalid", funz_messaggi_errore, false); valueNickname.addEventListener("blur", funz_validazione, false);
aaa