Richtige Möglichkeit für benutzerdefinierte HTML -Attribute
-
22-09-2019 - |
Frage
Ich schreibe die JavaScript -Bibliothek für benutzerdefinierte Formularvalidierung und denke über die korrekte Markup -Syntax nach. Nehmen wir an, ich habe eine Eingabe, die eine Anzahl zwischen 1 000 und 10 000 erfordert.
Bisher habe ich mich so etwas ausgedacht:
<input class='validate required number' min='1000' max='10000' />
Ist das richtige Weg, dies zu tun? Ich habe hier zwei Probleme:
- Ich mag es nicht, Klassen zu verwenden. Es fühlt sich wie Missbrauch an. Ist es in Ordnung, sie so zu verwenden?
- Meine benutzerdefinierten Attribute
min
undmax
Bestätigen Sie nicht.
Lösung
Seit HTML5 Wird diese Struktur unterstützen, könnte es der beste Weg sein:
<input data-validate="very-yes" data-min="1000" data-max="10000"/>
Wobei jedes "Daten -..." -attribut verwendet werden kann, um weitere Informationen zu speichern. Sie können diese Daten auch nach Verwendung von Skripts (en) anhängen
Andere Tipps
Es ist vollkommen in Ordnung, solche Klassen zu verwenden. Tatsächlich erleichtert es viel einfacher, Dinge in JavaScript und CSS zu tun.
Benutzerdefinierte Attribute sind in HTML nicht zulässig. Das Klassenattribut sollte stattdessen verwendet werden, um jedem Tag benutzerdefinierte Funktionalität oder Stil hinzuzufügen.
In Ihrem Fall würde ich empfehlen, eine Klasse wie "Nummer 1000-10000" hinzuzufügen und dann JavaScript zu verwenden, um den Rest zu erledigen.
Wenn Sie die lesen JQuery Validierung Es scheint die komplizierten Validierungsargumente (z. B. MAX- und MIN -Werte für ein Feld) im JSON -Format anzugeben.