我尝试使用 ZF2 验证 URI。问题是当我将 $value 设置为 'http://google.com' 或 'google/com' 时,它给了我一个输出 'bool(false)'。
我的代码;
use Zend\Uri\Http as ValidateUri;
use Zend\Uri\Exception as UriException;
class Domain
{
public function domain($value)
{
return $this->validate($value);
}
public function validate($value)
{
if (empty($value) || !is_string($value)) {
return false;
}
try {
$uriHttp = ValidateUri::validateHost($value);
var_dump($uriHttp);
} catch (UriException $e) {
return false;
}
return true;
}
}
提前致谢!
缺口
最佳答案
我建议使用验证器 Zend\Validator\Hostname。文档中的示例:
$hostname = 'http://google.com';
$validator = new Zend\Validator\Hostname(Zend\Validator\Hostname::ALLOW_DNS);
if ($validator->isValid($hostname)) {
// hostname appears to be valid
echo 'Hostname appears to be valid';
} else {
// hostname is invalid; print the reasons
foreach ($validator->getMessages() as $message) {
echo "$message\n";
}
}
关于validation - ZF2 Http uri 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893631/