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
我需要评估 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