我试图使用symfony2 UrlValidator来验证我创建的Service中的url参数。我试了一下。
$urlToValidate = 'http://www.google.ch/';
$validator = new UrlValidator();
$validator->validate($urlToValidate, new Url(array('value' => $urlToValidate)));
但我得到错误信息。
[Symfony/Component/Validator/Exception/InvalidOptionsException] 选项""不存在于约束Symfony/Component/Validator/Constraints/Url中。
有什么办法吗?
编辑1 :
我用了 :
$validator = new UrlValidator();
$validator->validate($url, new Url());
但我得到的是 :
[Error] Call to a member function buildViolation() on null (错误)
我找到了答案。
$url = 'http://malformedurl/';
$validator = Validation::createValidator();
$violations = $validator->validate($url, new Url());
if (0 !== count($violations)) {
// there is an error !
foreach ($violations as $violation) {
throw new Exception($violation->getMessage());
}
}
正如这里所描述的。http:/symfony.comdoccurrentcomponentsvalidator.html。