ugrás a tartalomhoz

Archívum - Már 20, 2014

Domain validáció + IDN

vrnagy · 2014. Már. 20. (Cs), 22.26
Sziasztok,

Egy Symfony2 projekthez szükségem van domain validációra, viszont problémába ütköztem a nemzetközi domainekkel.

Jelenleg a Respect\Validation domain validátorát integráltam, ami alapesetben jól is működik.

A példa.hu punycode változatát (xn--plda-bpa.hu) jól validálja viszont a subdomaineket már nem. A mail.xn--plda-bpa.hu a validátor szerint már nem érvényes.

A hiba forrását már megtaláltam, és akár javítható is, viszont ez most egy ágyúval verébre kategória, mivel a domain validáción kívül mást nem használok belőle.

Próbáltam keresni a Packagisten és a Google-ön is, de eddig eredménytelenül.
Tudtok valamilyen egyszerű domain validátort, ami minden RFC szabályt betart, és boldogul a nemzetközi domainekkel?

A probléma forrása az, hogy a validátor csak a domain legelején figyeli az xn-- karektersorozatot:

$this->checks[] = new OneOf(new Not(new Contains('--')),
	new AllOf(new StartsWith('xn--'),
		new Callback(function ($str) {
			return substr_count($str, "--") == 1;
		})));
Köszönettel,
vrnagy