Validace URL neumí localhost

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jiriknesl
Člen | 56
+
0
-

Vygenerovaný regulární výraz /^.+\.[a-z]{2,6}(\/.*)?$/i neprojde, pokud zadám http://localhost.

bojovyletoun
Člen | 667
+
0
-

na jakém místě v nette? Tento string jsem v nette nenašel. mám 2.0 co ty?

jiriknesl
Člen | 56
+
0
-

Ještě 0.9 řadu.

Jan Tvrdík
Nette guru | 2595
+
0
-

Tohle je dle mého názoru očekávané chování.

jiriknesl
Člen | 56
+
0
-

Jan Tvrdík napsal(a):

Tohle je dle mého názoru očekávané chování.

A to http://localhost není URL?

RFC 1738 (http://www.faqs.org/…rfc1738.html) se odkazuje, že část host musí dodržovat RFC 1035 (sec 3.5) a RFC 1123 (sec 2.1)

Z RFC 1035 soudím, že platná URL je i: „http://a“

Následuje BNF zápis pro část doména:

<domain> ::= <subdomain> | " "

<subdomain> ::= <label> | <subdomain> „.“ <label>

<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]

<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>

<let-dig-hyp> ::= <let-dig> | „-“

<let-dig> ::= <letter> | <digit>

<letter> ::= any one of the 52 alphabetic characters A through Z in
upper case and a through z in lower case

<digit> ::= any one of the ten digits 0 through 9

BigCharlie
Člen | 283
+
0
-

Pokud máš pravdu, tak je IMHO dobře, že v tomto případě nette nectí tak úplně standard. Když by totiž prošlo i „http://a“, v praktickém životě bych to moc neocenil, i kdyby to bylo podle všech RFC.

Edit: Jako chybu bych to úplně neviděl, protože valná většina z nás spíš využije dosavadní chování. A kdo ne, nechá validovat podle vlastního reguláru.

Editoval BigCharlie (6. 12. 2010 16:06)

jiriknesl
Člen | 56
+
0
-

Každý web byl někdy localhost. Proč by neměly fungovat vývojářovi na localhostu formuláře, to mi ale opravdu nejde do hlavy.

BigCharlie napsal(a):

Pokud máš pravdu, tak je IMHO dobře, že v tomto případě nette nectí tak úplně standard. Když by totiž prošlo i „http://a“, v praktickém životě bych to moc neocenil, i kdyby to bylo podle všech RFC.

Edit: Jako chybu bych to úplně neviděl, protože valná většina z nás spíš využije dosavadní chování. A kdo ne, nechá validovat podle vlastního reguláru.

Panda
Člen | 569
+
0
-

jiriknesl napsal(a):

Každý web byl někdy localhost. Proč by neměly fungovat vývojářovi na localhostu formuláře, to mi ale opravdu nejde do hlavy.

Mě zase moc nejde do hlavy, proč by měl formulář na produkčním akceptovat i očividně nesmyslná URL jen kvůli nějakému vývojářovi támhle v tmavém koutě.

jiriknesl
Člen | 56
+
0
-

Panda napsal(a):

jiriknesl napsal(a):

Každý web byl někdy localhost. Proč by neměly fungovat vývojářovi na localhostu formuláře, to mi ale opravdu nejde do hlavy.

Mě zase moc nejde do hlavy, proč by měl formulář na produkčním akceptovat i očividně nesmyslná URL jen kvůli nějakému vývojářovi támhle v tmavém koutě.

Ale ta URL není nesmyslná. Je platná podle RFC a plno firem má řadu let IS na doménách jako http://muj-is/ a dodnes kvůli nějakému Pandovi nevěděli, že je na té URL něco špatného.

David Grudl
Nette Core | 8169
+
0
-

Formulářový validátor neověřuje podle RFC, ale podle použitelnosti, tudíž platné je třeba www.seznam.cz a naopak není http://localhost

jiriknesl
Člen | 56
+
0
-

Weby dělám od roku 98, což je bezmála 13 let a dodnes jsem se nesetkal s tím, že by byl „localhost“ pro kohokoliv nepoužitelný.

Ondřej Mirtes
Člen | 1536
+
0
-

Jde o to, že jako tvůrce webové aplikace chceš po uživali obvykle zadat URL, na kterou se můžeš dostat. Ze stejného důvodu Nette nepřijme jinak validní e-mailové adresy jako foobar@127.0.0.1 apod.

jasir
Člen | 746
+
0
-

U nás běží intranet na http://intranet

Editoval jasir (15. 12. 2010 0:57)