jqueryvalidation Firefox Problem


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

EuroCent

KlappStuhl 2.0
#1
Guten Morgen zusammen,

ich habe aktuell folgendes Problem:
wir verwenden auf unseren Formularen den jqueryvalidation an.
Unter IE funktioniert der Validator einwandfrei.
Unter Firefox jedoch schreibt er egal ob Inhalt hinterlegt oder es gar kein Pflichtfeld ist, folgendes: "Bitte gib maximal -1 Zeichen ein. ".

Da die Formulare dynamisch erstellt werden, ist es schwierig es im validate unterzubringen, daher weiter unten die each-Schleife :)

Hier mal die JS-Code Stelle:
Javascript:
    $("#send_mf").validate({
        submitHandler: function (form) {
            generate_txt();
            $("[name='action']").val('1');
            form.submit();
        }
    });

    $('form#send_mf').find('input[type!=hidden],textarea,select').each(function () {

        if ($(this).prop('required') != undefined) {

            $(this).rules("add", {
                required: $(this).prop('required')
            });
        }

        if ($(this).data('minlength') != undefined) {

            $(this).rules("add", {
                minlength: $(this).data('minlength')
            });
        }

        if ($(this).prop('maxlength') != undefined) {

            $(this).rules("add", {
                maxlength: $(this).prop('maxlength')
            });
        }

        if ($(this).prop('type') == 'email') {

            $(this).rules("add", {
                email: true
            });
        }

        if ($(this).prop('type') == 'number') {

            $(this).attr("type", "text");

            $(this).rules("add", {
                digits: true
            });
        }

        if ($(this).data('blacklist') != undefined) {
            $(this).on("keyup", function () {
                check_blacklist($(this).prop('name'));
            });
        }
    });
Weiß hier jemand woran es liegt?
Im IE wie gesagt funktioniert es ja... mit Google Chrome haben wir es nicht getestet, da er nicht verwendet werden darf.
 
#4
Der anfang des Formulars wie es aufgebaut ist...

HTML:
<form name="send_mf" id="send_mf" action="" method="POST" enctype="multipart/form-data">
    <input name="test" id="test" type="text" placeholder="Test" required />
    <input type="submit" name="send" id="send" value="Senden" />
</form>
Hat es etwas was mit dem "enctype="multipart/form-data"" zutun?
 

Quaese

Moderator
Moderator
#5
Hi,

Javascript:
$(this).prop('maxlength')
liefert im Firefox (im Chrome übrigens auch) -1 und ist somit ungleich undefined. Damit ist der Ausdruck wahr und es wird auf diese Länge validiert. Vielleicht solltest du stattdessen prüfen, ob der ungleich undefined und grösser als 0 ist.

Ciao
Quaese
 
#6
Ah... okay...
Das werd Ich mal prüfen.

Mit der Formatierung des Formulars hat es aber nichts zutun?

Chrome dürfen wir leider nicht verwenden daher hab Ich explizit nur Firefox angesprochen...

Gibt es noch einen Hinweis worauf Ich zischten habe?

Sollte Ich ninlength ebenso überprüfen wie auch mit maxlength? :)
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…