
function getValeur(champ) {
    if ( champ.nodeName == "SELECT" ) {
        if ( champ.selectedIndex > 0 )
            return champ.options[ champ.selectedIndex ].value;
        else
            return null;
    }
    return champ.value;k
}

function submit(evt) {
    const fields = evt.target.querySelectorAll( "input,textarea");
    for (let i = 0; i < fields.length; i++) {
        const f = fields[i]; 
        const v = getValeur(f); 
        if (v == "") {
            alert( `Merci de completer le champ ${f.name}` );
            f.focus();
            evt.preventDefault();
            break;
        }
        if (f.hasAttribute("format")) {
            const format = f.getAttribute( "format" );
            const re = new RegExp(f.getAttribute("format")); 
            if (!v.match(re)) {
                alert( `Votre champ ${f.name} n'est pas au format ${f.placeholder}` ); 
                f.focus();
                evt.preventDefault();
            }
        }
    } return true;
}

document.addEventListener("DOMContentLoaded", () => {
    document.querySelector("form").addEventListener("submit", submit);
});
