PHP empêcher form onsubmit si formulaire invalide

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Snowman91, 29 Juin 2020.

  1. Snowman91
    Snowman91 Nouveau WRInaute
    Inscrit:
    29 Juin 2020
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    J'ai un form et un bouton submit qui se présentent comme ceci :

    <form method="post" class="needs-validation" onsubmit="return sendData();" novalidate>
    <button type="submit" class="btn btn-primary" name="valider" value="Confirmation" id="subBtn">Confirmation</button>

    Ma fonction sendData() contient l'insertion du formulaire :

    function sendData()
    {
    var emailP = document.getElementById("emailP").value;
    var selectElmt = document.getElementById("genreP");
    (...)

    $.ajax({
    type: 'post',
    url: '../controleurs/hab.php',
    data: {
    emailP:emailP,
    genreP:genreP,
    (...)

    },
    success: function (response) {
    },
    error: function(error) {
    $("#res").text("NOK");
    }
    });


    }

    J'ai ma fonction pour vérifier le formulaire, si des champs ne sont pas remplis correctement. J'aimerais pouvoir stopper le onsubmit pour arrêter l'insertion si il a donc une erreur.

    (function() {
    'use strict';
    window.addEventListener('load', function() {

    var forms = document.getElementsByClassName('needs-validation');

    var validation = Array.prototype.filter.call(forms, function(form) {
    form.addEventListener('submit', function(event) {
    if (form.checkValidity() === true) { alert("Form OK"); }
    else {
    event.preventDefault();
    event.stopPropagation();
    form.onsubmit = "return false";
    alert("Form NOK");
    }
    form.classList.add('was-validated');
    }, false);
    });
    }, false);
    })();

    Faire form.onsubmit = "return false"; ne change rien. Quelqu'un aurait-il une proposition ?

    Merci d'avance
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 154
    J'aime reçus:
    334
    Déjà pourquoi avoir mis novalidate ? Qui est trigger uniquement lors d'un vrai submit (sans event JS).
    De plus il me semble que le onsubmit prend plutôt un callable :
    form.onsubmit = function () {
    return false;
    };

    Si tu veux faire le submit en JS, et utiliser la validation native, il faut appeler manuellement form.checkValidity() : https://www.w3schools.com/JS/js_validation_api.asp

    https://daverupert.com/2017/11/happier-html5-forms/
    https://www.html5rocks.com/en/tutorials/forms/constraintvalidation/
     
  3. Snowman91
    Snowman91 Nouveau WRInaute
    Inscrit:
    29 Juin 2020
    Messages:
    2
    J'aime reçus:
    0
    Merci ! ça marche
     
Chargement...
Similar Threads - PHP empêcher onsubmit Forum Date
Comment empêcher une page en php d' être partagé sur facebook? Facebook 10 Septembre 2015
empécher l'ajout d'un fichier php au bout d'une url php URL Rewriting et .htaccess 10 Février 2010
[RESOLU] PHP Empêcher Ajout enregistrement si formulaire vide Développement d'un site Web ou d'une appli mobile 15 Septembre 2009
Empecher le spam de formulaire php ? Développement d'un site Web ou d'une appli mobile 24 Novembre 2007
Require php empecherait il le référencement ? Problèmes de référencement spécifiques à vos sites 4 Novembre 2005
Comment empecher les signatures "image" sur phpBB Administration d'un site Web 14 Octobre 2005
Arborescence de classes PHP et séquentialité. Développement d'un site Web ou d'une appli mobile Lundi à 10:57
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Sites de scripts PHP, jQuery, Ajax, etc. Le café de WebRankInfo 20 Mars 2022
Détecter arrêt user d'un script PHP ? Développement d'un site Web ou d'une appli mobile 28 Décembre 2021
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
PHP / CURL : interrogation page tiers ne fonctionne plus Développement d'un site Web ou d'une appli mobile 2 Octobre 2021
Actualiser un script php toutes les 10 secondes Développement d'un site Web ou d'une appli mobile 6 Septembre 2021
PHP : problème de comparaison égalité dans boucle FOR avec incrément décimal de 0.1 Développement d'un site Web ou d'une appli mobile 26 Août 2021
Cache Etag nginx et PHP ? Administration d'un site Web 7 Août 2021
Fichier avec ou sans extension php pour le référencement Crawl et indexation Google, sitemaps 3 Août 2021
mon code ne fonctionne pas pour masquer les .php URL Rewriting et .htaccess 31 Juillet 2021
Malware S.Susp.PHP.gen... Administration d'un site Web 15 Juillet 2021
La fonction mail (PHP) ne passe pas ! Demandes d'avis et de conseils sur vos sites 28 Juin 2021