I try to validate an URI with ZF2. The problem is when I set $value as 'http://google.com' or 'google/com', it gives me both an output 'bool(false)'.
My code;
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;
}
}
Thanks in advance! Nick
As of right now your validator will fail as http://google.com is not a valid hostname. However, google.com is valid.
What you should have: $hostname = 'google.com';
I'm recommending to use validator Zend\Validator\Hostname. Example from documentation:
Try it: