Im Formular gehen die javaScript Befehle nicht mehr?

3 Antworten

Hi maetin944,

ich würde empfehlen in zukunft auf jQuery zu verzichten. Diese JavaScript-Library ist veraltet und es finden sich viel bessere Methoden und Funktionen im neuesten JavaScript(ECMAScript)-Standard. Ich habe da aber was aus dem Internet gefischt und etwas angepasst, ich jetzt nicht so der Freund von jQuery bin.
Du findest sehr viel gute Artikel über Webformulare auch unter de.selfhtml.org

jQuery.validator.addMethod("datum", function (value, element) {
    if (value.length === 0 && this.optional(element)) return true;
    if (!/^\d{2}\.\d{2}\.\d{4}$/.test(value)) return false;

    const [day, month, year] = value.split('.').map(Number);
    const date = new Date(year, month - 1, day);
    return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day && year > 1800;
}, 'Bitte geben Sie ein korrektes Datum ein.');

jQuery.validator.addMethod("uhrzeit", function (value, element) { if (value.length === 0 && this.optional(element)) return true; if (!/^\d{2}:\d{2}$/.test(value)) return false; const [hours, minutes] = value.split(':').map(Number); return hours >= 0 && hours < 24 && minutes >= 0 && minutes < 60; }, 'Bitte geben Sie eine korrekte Uhrzeit ein.');

jQuery.validator.addMethod("vorgangsnummer", function (value, element) {
    if (value.length === 0 && this.optional(element)) return true;
    if (!/^[0-9A-Z]{5}-[0-9A-Z]{5}-[0-9A-Z]{5}$/.test(value)) return false;

    let sum = 0;
    for (let i = 0, count = 0; count < 15; i++) {
        if (value[i] !== '-') {
            sum += value.charCodeAt(i);
            count++;
        }
    }

    return sum % 100 === parseInt(value.slice(-2), 10);
}, 'Bitte geben Sie eine korrekte Vorgangsnummer ein.');

jQuery.validator.addMethod("onlychars", function (value, element) {
    return (value.length === 0 && this.optional(element)) || /^[A-Za-zäöüÄÖÜß ]+$/.test(value);
}, 'Bitte geben Sie nur Buchstaben ein.');

Viel Erfolg

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

Mirko Marek  21.02.2025, 10:29

Ich habe auch ein paar Kritikpunkte zum Formular und zwar der Aufbau. Es sind viel zu viele Texte auf einmal zu sehen. Am besten wäre es mit einem Step-by-Step-Formular zu arbeiten, um die Textlastigkeit aufzuteilen. Ich hinterfrage auch bei einem Formular, ob es tatsächlich so viel Text stehen muss. Im Druckbereich gibt es immer ein Beiblatt und im Digitalen kann man einklappbare Textbereiche erstellen. Ich würde meinen Kunden niemals so ein Formular abliefern.

Anmerkung: Beim Koblenzer Formular gelingt auch ein Absenden ohne Inhalt. (21.2.25, ca. 13:45). Das ist sicherlich nicht so gewollt und auch nicht sinnvoll.

Davon abgesehen dass "geht nicht" keine Fehlerbeschreibung ist (sollte man als Entwickler eigentlich wissen): Ruf das Formular im ersten Link einfach mal mit aktivierten Developer Tools im Browser auf. Dann wird dir sofort einiges ins Auge springen ...