Ich habe ein Problem mit jQuery Validate. Die Sache ist, ich habe ein paar Textfelder mit ihren maxlength
Attribute gesetzt. Obwohl sie nicht benötigt werden, können sie immer noch nicht validiert werden, wenn sie leer oder leer sind.
Beispiel HTML:
<input type="textbox" id="tbx1" maxlength="100" value="" />
Dann gibt $('#tbx1').valid()
false
zurück. Sollte nicht stattdessen true
zurückgegeben werden? Gibt es bekannte Problemumgehungen dafür?
Oh, und das Hinzufügen von $('#myform').validate({ ignore: '#tbx1' });
funktioniert nicht ganz, da ich ASP.NET-Steuerelemente mit ihren automatischen IDs verwende. Ich weiß, dass ich entweder die Client-ID des Steuerelements oder etwas wie IDOverride von Wilco verwenden könnte, aber das ist einfach nicht das, was ich bevorzuge.
Also, irgendjemand? Danke!
Habe selbst in einigen komplizierten Formen, die ich geschrieben habe, auf dieses Problem gestoßen ...
Meine Lösung besteht lediglich darin, meine eigene maxlength-Methode zu erstellen, die ich "maxLen" verwenden kann und die fast genau wie die Standardmethode unter einem anderen Namen funktioniert. Fügen Sie das einfach über Ihren Hauptvalidierungsaufruf ($ ("# mainform"). Validate ({}); oder wie auch immer Ihre Form aufgerufen wird).
%Vor%Sobald Sie das getan haben, können Sie die Regel wie folgt hinzufügen:
%Vor%Zunächst gehe ich davon aus, dass die Eingabe ein "name" -Attribut hat und in Ihrem Beispiel einfach nicht angezeigt wird? Wenn nicht, versuchen Sie das und es kann das Problem beheben.
Zweitens, haben Sie versucht, das Feld explizit so festzulegen, dass es nicht benötigt wird, aber eine maximale Länge im Validator-Objekt hat? Zum Beispiel:
%Vor%Tags und Links jquery jquery-validate