2012-09-25 73 views
0

在使用自定義Zend驗證器時驗證多個值的最佳實踐是什麼?目前我以$ value的形式傳入一個數組,但這看起來很尷尬,對我來說也不是很可擴展。會有更好的方法嗎?這裏是我的驗證的一個片段:將多個值傳遞給Zend驗證?

public function isValid($value=array()) 
{ 
    $userID=$value["userID"]; 
    $applicationID=$value["applicationID"]; 

    /***** Validate next and return, etc. 

回答

0

如果您驗證用戶ID和的applicationID以相同的方式(相同的規則),所以只需調用的isValid方法的兩倍。沒有什麼問題。

如果他們有不同的規則,創建兩個不同的驗證器類。它會遵循邏輯的基本分離。

+0

例如,不是試圖驗證userid/applicationID,而是嘗試驗證用戶是否存在。所以驗證者需要兩個參數。可能是一個不好的例子,但我認爲這個問題仍然有效,最好的方法是基於多個值進行驗證? –

+0

我只是按照半年前所說的相同方式進行操作 - 爲每個數據類型創建驗證器類/使用默認類(讓用戶標識符爲數據類型),然後逐個調用。 我不喜歡數組方法,因爲您最終只能在一種情況下使用驗證器類 - 不可重用。 – Gediminas