Validation zf2验证uri-意外结果

Validation zf2验证uri-意外结果,validation,zend-framework2,uri,Validation,Zend Framework2,Uri,我需要评估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

我需要评估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://”不是主机名的一部分,因此这是正确的。“example”也是一个有效的主机名(就像“localhost”一样)

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

我最近开发了一个URI助手,它可能会帮助您: