zf2 验证 uri - 意外结果

zf2 validate uri - unexpected results

我需要评估 uri,但验证器主机名和 Uri 都没有帮助我。 也许某些东西的隔膜是正确的。

使用以下代码

$oHostnameValidator = new Hostname(array('allow'=>Hostname::ALLOW_URI));
if(!$oHostnameValidator->isValid($value)){
  $this->error(self::ER_WEB);
  return false;
}

我想要的结果应该是

http://www.example.com      >>      true
www.example.com             >>      true
example.com                 >>      true

example                     >>      false
example.                    >>      false

但我明白了

http://www.example.com      >>      false   >>      wrong
www.example.com             >>      true
example.com                 >>      true

example                     >>      true    >>      wrong
example.                    >>      true    >>      wrong

谢谢

您正在验证主机名。 “http://www.example.com”不是有效的主机名。 "example" 是一个有效的主机名。

它完全符合您的要求。 "http://" 不是主机名的一部分,所以这是正确的。 "example" 也是一个有效的主机名(就像 "localhost" 一样)。

您应该使用 URI 帮助器从 URI 中获取主机名,然后使用主机名验证器对其进行验证。

我最近研究了一个 URI 助手,它可能会帮助您:http://packagist.org/packages/enrise/urihelper