2014-07-09 35 views
0

所以在這篇文章中How do you set a CodeIgniter radio button, before it's in the $_POST? TwiStar解釋瞭如何修改$ _POST變量,這很好...除了它好像覆蓋了CodeIgniter表單驗證函數。

if ($this->form_validation->run() === FALSE) {...} 

這可能是由於我的設計...我有一些數據,我用預填充我的形式,我呈現給用戶查看和修改,如果他們的願望。預填充(不幸的是,在這種情況下)爲表單驗證提供了準確的數據。

所以我猜CodeIgniter的form_validation->run()是真的,當$ _POST包含正確的內容,這意味着我的表單驗證是在我開始之前。

如果我忽略了其中一個預填充值,我會得到糟糕的用戶體驗。

我該如何處理這個更好?

回答

0

我發現問題似乎更多的是設計和流程。

問題: 想要用數據庫值預先填充表單,然後允許用戶修改它們,並通過表單驗證提交它們。

解決辦法:

  • 在控制器我沒有嘗試與if (!isset($_POST['myradio'])) {...}

  • 修改$ _ POST值在窗體中,我沒有利用set_radio()的功能,特別是第三有關默認值的參數。

的HTML是

<input type="radio" name="target" value="direct" <?php echo set_radio('target', "direct", ($data['target'] === 'direct' ? TRUE : " ")); ?> />