我有一個使用數組作爲輸入名稱的CI驗證表單。視圖最初具有這樣的代碼:Codeigniter:set_value無法正確重新填充數組表單字段
<input type="text" name="feed_urls[]"
value="<?php echo set_value('feed_urls[]', ''); ?>" >
,當加載到瀏覽器正確地轉換到這樣的:
<input type="text" name="feed_urls[]" value="">
然後通過Jquery的用戶可對DOM提交前添加更多相同<input>
的,所以最終POST的內容可能是例如
<input type="text" name="feed_urls[]" value="">
<input type="text" name="feed_urls[]" value="">
<input type="text" name="feed_urls[]" value="">
現在,如果提交的數據通過驗證,一切都很好,並存儲在數據庫中。但是,如果驗證失敗,控制器將發送回視圖,但我看不到POST的表單的N <input>
。我只看到一個,它是空的,這是可以理解的,因爲我沒有爲set_values()提供第二個參數,但是再次預期會看到輸入通過$ this-> input-> post被重新填充(feed_urls)數組與無效的POST數據。
我在控制器驗證$ this-> input-> post('feed_urls')是否有POST內容(無效或無效)就好了。
我讀過關於使用上有什麼正確的使用SET_VALUE的validation with arrays as field names
任何想法的CI用戶指南文檔()?正確的我的意思是,在驗證失敗時,我得到了已發佈的N個輸入,並逐個正確地重新填充。
但是,如何知道應該輸出多少這樣的輸入?無論如何,至少獲得數組的大小? – jayarjo