@@Rolf B
Und darum:
Fehler 4: Wenn Du Struktur in Adressen bringen willst, mache 4 Eingabefelder. Straße, PLZ, Ort, Land. Lass die Finger von Plausiprüfungen, die Du nicht überschauen kannst.
Richtig.
Es gibt aber andere, die das überschauen können. Open Street Maps bspw.
Abfrage „Monumentenstraße 9 Berlin“
(https://nominatim.openstreetmap.org/search?q=Monumentenstra%C3%9Fe%209%20Berlin&format=json&addressdetails=1)
In der Antwort auf darauf findet sich dann:
[
	{
		…,
		"address": {
			"theatre": "Scheinbar Varieté e.V.",
			"house_number": "9",
			"road": "Monumentenstraße",
			"suburb": "Schöneberg",
			"city_district": "Tempelhof-Schöneberg",
			"city": "Berlin",
			"postcode": "10829",
			"country": "Deutschland",
			"country_code": "de"
		}
	}, …
]
Und schon hat man alles fein säuberlich aufgetrennt – sogar Straße und Hausnummer.
Wenn Du das nicht willst, mach kein input-Element, sondern eine textarea, damit er Kunde die Adresse so eingeben kann wie sie für seine Bedingungen richtig ist.
Das ist für Nutzer wohl das am einfachsten zu bedienende: ein Eingabefeld, nicht vier. Und schon gar nicht fünf.
Und eigentlich wollte ich Dir ja noch das constraint validation API für selbstgemachte Prüfungen andienen, mit denen Du die :valid Pseudoklasse eines Elements steuern kannst, aber das streikt bei mir mal wieder. Das Feld wird zwar ungültig, aber die Fehlermeldung bekomme ich nicht. @Gunnar Bittersmann - gibt's da einen Trick zu beachten?
?? Was genau?
LLAP 🖖
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
 nicht angemeldet
 nicht angemeldet Gunnar Bittersmann
 Gunnar Bittersmann Matthias Apsel
 Matthias Apsel MudGuard
 MudGuard Rolf B
 Rolf B Matthias Scharwies
 Matthias Scharwies