Wie kann ich diesen HTML Vorgang stoppen?

Ich würde gerne einen HTML-Vorgang stoppen, wenn eine Voraussetzung in Java Skript nicht erfüllt ist:

Ich arbeite mit formsubmit.co und kann auf meiner Webseite nicht mit PHP arbeiten. Bis jetzt habe folgenden Code:

<form action="https://formsubmit.co/email@gutefrage.de" method="post" onsubmit="validateEmail()">
    <input type="hidden" name="_autoresponse" value=
    "Hallo, du hast diese Email bekommen. " />
    <input type="hidden" name="_next" value="https://www.gutefrage.net/" /> 
    <input type="email" id="email" name="email" placeholder="Email Address" /> 
    <label class="container"><input type="checkbox" required/>Ich habe die Nutzungsbedinungen gelesen.</label> 
    <button type="submit">Send</button>
</form>


<script>
/* <![CDATA[ */
      function validateEmail() {
        const email = document.getElementById("email").value;
        if (email.includes("200") && email.includes("Frage") && email.length >= 20) {
          alert("Valid email address.");
          return true;
        } else {
          alert("Invalid email address.");
          return false;
        }
      }
/*]]>*/
</script>

Das Skript überprüft die Eingabe der E-Mail Adresse, sofern alle Felder eingegeben sind und das Formular abgesendet wurde, ob die eingegebene E-Mail-Adresse "100", "Frage" und grösser oder gleich 20 Zeichen lang ist. Auf einer Nachricht im Browser wird angezeigt, ob die E-Mail-Adresse den Voraussetzungen entspricht oder nicht. Anschließend wird die Nachricht "Hallo, du hast diese E-Mail bekommen." an die eingegebene E-Mail-Adresse gesendet (das übernimmt formsubmit.co). Anschließend wird der Nutzer auf Gute Frage weitergeleitet.

Beides Funktioniert einwandfrei, jedoch wird, egal ob die E-Mail die Voraussetzungen erfüllt oder nicht, an die angegebene E-Mail gesendet.

Meine Frage ist, ob ich die Aktion in HTML irgendwie stoppen kann, also das die E-Mail nicht versendet wird, wenn sie die Voraussetzungen in JavaScript nicht erfüllt. Dabei kann ich keine riesigen Änderungen am gegebenen HTML-Code von formsubmit unternehmen (da dies ja immer noch funktionieren sollte) und ohne PHP oder ähnliches.

Edit: Das mit der Erkennung funktioniert irgendwie auch nicht, es zeigt immer an, dass die Email die Voraussetzungen nicht erfüllt. Ich habe jedoch ein Beispiel, wo dies funktioniert:

<form onsubmit="return validateEmail()" method="post">
    <label for="email">Email:</label> <input type="email" id="email" name="email" placeholder="z.B. ichbincool@email.com" size="40" required="" /> <input type="submit" value="senden" required="" />
</form>
<script>
/* <![CDATA[ */
      function validateEmail() {
        const email = document.getElementById("email").value;
        if (email.includes("ich") && email.includes("cool") && email.length >= 5) {
          alert("Valid email address.");
          return true;
        } else {
          alert("Invalid email address.");
          return false;
        }
      }
/*]]>*/
</script>   
HTML, Webseite, programmieren, JavaScript, Programmiersprache, Webentwicklung, Webseitenoptimierung
Ideen für Software-Architektur (gitlab, docker, js/ts)?

Hallo, .. wahrscheinlich ist das hier die Falsche Stelle um die Frage zu stellen aber ich versuche es trotzdem.

Ich habe mir ein Biotop aus Progammen (hier Serivces) in auf NodeJs geschaffen, von welchen jeder einzelne in seinem eigenen Docker-Container läuft. Damit die Services ihre Arbeit tun können, müssen sie auf Datenbanken, FTP-Server, etc. zugreifen.

Ich habe also hierfür eine Zentrale DB, wo die Konfigurationen (Eigenschaften, Zugangsdaten, etc.) für die einzelnen Ausprägungen der Services gespeichert sind. So ein Service-Container holt sich bei seiner Initialisierung den für seine Zwecke zugewiesene Konfiguration. Wenn nun Service1 irgendwas von Service2 anfragt, muss Service1 dem angefragten Service2 mitteilen, z.b. mit welcher DB Service2 arbeiten soll. Derzeit übergibt Service1 nun seine Konfiguration (wozu dann natürlich die Zugangsdaten gehören) an Service2.

Dies funktioniert soweit ganz gut.. nur macht es mir Bauchweh, wenn die Services die ganze Zeit Zugangsdaten bei jedem Request mitsenden müssen.

Wie könnte ich das besser machen? ich habe nun darüber nachgedacht, nur eine Referenz-ID mitzugeben und dann würde Service2 sich bei jedem Request die Zugangsdaten aus einer DB holen. Würde auch funktionieren mit geringen Performance-Einbußen. Nur finde ich irgendwie, ist das auch nicht das Gelbe vom Ei.

Nun meine Frage: Wie könnte ich das besser machen? Kann mir nur schwerlich vorstellen, dass keiner vor mir vor diesem Problem stand? Hat jemand Ideen?

JavaScript, Docker
wieso PHP Parse error: syntax error, unexpected token ";" in /home/emmanuel/Downloads/hp.php on line 11?
<link rel="stylesheet" href="style.css">
<?php
$db = unserialize(file_get_contents('data.php'));
if($db == false){
        $db = array();
}
if($_POST['mail'] == ''){
        if($_POST['name'] == ''){
                if($_POST['pass'] == ''){a
                        if(!array_key_exists($_POST['mail'], $db){
                                $db[$_POST['mail']] = [$_POST['name'], []];
                                file_put_contents('data.php', serialize($db));
                        } 
                }
        }
}
?>
<form action="" method="post">
    <center>
        <label for="firma_name" >name:</label><br>
        <input type="text" class="input" name="name" autocomplete="off"><br>
        <label for="produkte">email:</label><br>
        <input type="text"  class="input" name="mail" autocomplete="off"><br>
        <label for="adresse">pass:</label><br>
        <input type="text"  class="input" name="pass" autocomplete="off"><br>
        <input type="submit" class="anmelde_button" value="anmelden">
    </center>
</form>

wieso PHP Parse error: syntax error, unexpected token ";" in /home/emmanuel/Downloads/hp.php on line 11?

HTML, Webseite, CSS, JavaScript, HTML5, Datenbank, JQuery, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, phpMyAdmin

Meistgelesene Beiträge zum Thema JavaScript