2010-02-23 392 views

回答

2

我敢肯定,有在驗證這個沒有內置,但編寫自定義的驗證是超級簡單:

class My_Validate_Youtube extends Zend_Validate_Abstract{ 

    public function isValid($value){ 
     // check url here 
     if (no_good($value)){ 
      $this->_error("Explain the error here"); 
      return false; 
     } 
     return true; 
    } 

} 

只要把任何檢查你在那個階級的需要,並運行任何驗證YouTube的鏈接進行檢查。

編輯: 從Laykes,你可能要考慮使用的驗證,以檢查視頻確實存在,而不是確定它是否適合的模式。取決於您的使用情況 - 例如,您想通過致電Youtube API來引入多少延遲?

+0

謝謝你的回答。我決定寫我自己的自定義函數進行驗證。但它只驗證正則表達式的視頻鏈接。 – Bounce 2010-02-24 15:35:18

1

我不知道是否有可能,但是,我會採取不同的方法,並嘗試查看鏈接是否有評論。

以此爲例。從這裏: http://framework.zend.com/manual/en/zend.gdata.youtube.html

$yt = new Zend_Gdata_YouTube(); 
$commentFeed = $yt->getVideoCommentFeed('abc123813abc'); 

foreach ($commentFeed as $commentEntry) { 
    echo $commentEntry->title->text . "\n"; 
    echo $commentEntry->content->text . "\n\n\n"; 
} 

如果您使用的視頻ID在VideoCommentFeed說法,你就能獲得$ commentFeed值。如果您接着發生錯誤,您知道該視頻不存在。

我相信如果你嘗試其他方法,你可能會找到你想要的例子。