Ich spiele herum mit dem Schreiben eines jQuery-Plugins, das ein Attribut verwendet, um das Formularvalidierungsverhalten zu definieren (ja, ich bin mir bewusst, dass es bereits ein Validierungs-Plugin gibt; dies ist sowohl eine Lernübung als auch etwas, das ich verwenden werde). Ideal wäre es, etwas wie dieses zu haben:
Beispiel 1 - Eingabe:
Beispiel 2 - Wrapper:
Beispiel 3 - Voreingestellt:
Das Ziel hier ist es, meinem jQuery-Code zu ermöglichen, herauszufinden, welche Elemente validiert werden müssen (das ist bereits erledigt) und dennoch das Markup als gültiges XHTML zu haben, was mein Problem ist. Ich bin ziemlich sicher, dass dies eine Kombination aus DTD und XML-Schema erfordern wird, aber ich bin mir nicht wirklich sicher, wie ich das genau umsetzen soll.
Basierend auf diesem Artikel habe ich die folgende DTD erstellt:
%XHTML1-formvalidation1;
%xhtml11.dtd;
Und hier ist "formvalidation-model-1":
Ich habe noch nie zuvor eine DTD gemacht, also bin ich mir nicht wirklich sicher, was ich tue. Wenn ich meine Seite durch den W3 XHTML-Validator laufen lasse, erhalte ich über 80 Fehler, weil doppelte Definitionen aller XHTML-Elemente vorliegen. Bin ich zumindest auf dem richtigen Weg? Irgendwelche Vorschläge?
EDIT: Ich habe diesen Abschnitt aus meiner benutzerdefinierten DTD entfernt, weil sich herausstellte, dass er tatsächlich selbstreferenzierend war und der Code, den ich als Vorlage erhalten habe, eigentlich dafür gedacht war, zwei DTDs zu kombinieren, anstatt spezifische Elemente an eine anzuhängen:
%XHTML1-formvalidation1;
Ich habe auch dies entfernt, weil es nicht validiert wurde und anscheinend nichts bewirkte:
Außerdem habe ich beschlossen, dass ich nur eine Handvoll zusätzlicher Elemente hinzufüge, das separate Dateimodell, das von W3 empfohlen wird, also nicht wirklich hilfreich erscheint, also habe ich alles in die dtd-Datei geschrieben, deren Inhalt jetzt so aussieht:
%xhtml11.dtd;
Jetzt erhalte ich keine mit der DTD zusammenhängenden Validierungsfehler mehr, aber das onvalidate-Attribut ist immer noch ungültig.
Update: Ich habe die DTD verworfen und ein Schema hinzugefügt: http://schema.dandoes.net/FormValidation/1.0.xsd
Die Verwendung von v:onvalidate scheint in Visual Studio zu validieren, aber der W3C-Dienst mag es immer noch nicht.
Hier ist eine Seite, auf der ich es verwende, damit Sie den Quellcode betrachten können:
Und hier ist der Link zum Validierungsergebnis von W3C:
Bin ich damit so nah dran, wie ich mit diesem Problem kommen werde, oder mache ich immer noch etwas falsch?