2013-04-03 19 views
0

我試圖實現Zend_Filter_Input來驗證數組中的第一個值是否爲空。使用Zend_Filter_Input驗證數組中的單個值

這裏是我的HTML:

<input type="text" name="Firstname[1]"> 
<input type="text" name="Firstname[2]"> 
<input type="text" name="Firstname[3]"> 

這個代碼不工作:

$validators = array(

    'Firstname[1]' => array( 
            'NotEmpty' 

            )); 

    $input = new Zend_Filter_Input(null, $validators, $_POST); 

任何提示?

+0

我已經使用$ data數組這實際上是$ _ POST來自輸入表單的所有字段。因此更新了上面的代碼示例。有沒有一種方法來驗證Firstname數組中只有指定的字段,還是隻需要將相關字段複製到$ data中進行驗證過程? – Erik

+0

你的$ _POST數組實際看起來像什麼? – RockyFord

回答

0

你試圖使用不兼容的數據類型,這裏是從ZF1參考的摘錄可能有助於解釋:

您可以指定輸入數據作爲第三個構造函數參數。數據 結構是關聯陣列。鍵是字段名稱,值是數據值。 PHP中的標準$ _GET和$ _POST超全局變量 就是這種格式的例子。您可以使用這些變量中的任意一個作爲Zend_Filter_Input的輸入數據。

$input = new Zend_Filter_Input($filters, $validators, $data); 

我希望你看到的問題。

也許你可以試試:

<input type="text" name="Firstname[1]" required> 
<input type="text" name="Firstname[2]"> 
<input type="text" name="Firstname[3]"> 

只要您使用HTML5

+0

我已經更新了一些額外的細節的帖子。 – Erik