2016-11-24 18 views
2

我想使用symfony2 UrlValidator來驗證我創建的服務中的url參數。我嘗試這樣做:使用UrlValidator symfony2組件

$urlToValidate = 'http://www.google.ch/';  
    $validator = new UrlValidator(); 
    $validator->validate($urlToValidate, new Url(array('value' => $urlToValidate))); 

,但我得到的錯誤:

[Symfony的\分量\驗證\異常\ InvalidOptionsException該 選項 「」 不約束 的Symfony \分量\驗證\存在Constraints \ Url

有沒有辦法?

編輯1:

我用:

$validator = new UrlValidator(); 
    $validator->validate($url, new Url()); 

,但我得到:

[錯誤]調用一個成員函數buildViolation()上的空

回答

0

我找到了答案:

$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.com/doc/current/components/validator.html