No, non avviene e posso assicurarti che il form l'ho testato con tutti i browser, addirittura con il browser brave.
Sto uscendo pazzo, ma persone che ne sanno più di me attribuiscono il problema al codice presente nel <button>
affermando che è normale che se ho un codice js nel submit vengono elusi tutti i controlli sui campi
No, il problema è un altro: quando chiami il metodo
submit() di fatto
forzi l'invio dei dati a prescindere dallo stato di validazione, che quindi non viene controllato.
Prova a modificare il codice come segue:
<form class="form" method="post" id="modulo" action="index.php?page=salva_commessa" enctype="multipart/form-data">
<div class="col-md-4">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span>
<input type="text" class="form-control" aria-hidden="true" name="cliente" placeholder="Nome Cognome Cliente" required>
</div>
</div>
<div class="text-right">
<button type="submit" class="btn btn-success right" onclick="return confirm('Vuoi registrare la commessa ?')">Registra commessa</button>
</div>
</form>
In pratica, il tuo
<button> deve diventare di tipo "submit", così quando viene premuto il browser comprende il tuo intento ma, prima di procedere con l'invio, effettua la validazione dei campi.
Se la conferma di registrazione della commessa vuoi ottenerla
prima della validazione, allora codifichi l'evento
onclick del pulsante così come indicato sopra: in pratica, quando fai clic, se decidi di non proseguire viene annullato l'effetto predefinito del pulsante, ossia l'esecuzione del submit.
Se invece vuoi ottenere la conferma di registrazione
dopo la validazione dei campi - che secondo me è un'alternativa migliore - allora puoi spostare il codice dell'onclick all'interno dell'evento
onsubmit del <form>. Così facendo, fino a quando ci sono campi non validi, il browser blocca il submit e ti segnala gli errori; quando i campi sono tutti corretti, il browser procede ma chiede prima la conferma di registrazione e, se tutto va a buon fine e la conferma viene data, allora il form viene spedito.
Ciao!