在笨

2016-03-03 70 views
0

加入幾個驗證錯誤,比方說,我們有我們的頁面上的許多單選按鈕和所有的人都強制性的,我們在控制器的驗證看起來像這樣:在笨

$this->form_validation->set_rules('radio1', 'radio1', 'required'); 
$this->form_validation->set_rules('radio2', 'radio2', 'required'); 
$this->form_validation->set_rules('radio3', 'radio3', 'required'); 
//etc... 

我們便展示我們的錯誤:

if ($this->form_validation->run() == FALSE) 
{ 
    echo validation_errors(); 
} 

但是這會顯示每個單選按鈕沒有被選中的錯誤,你可能會得到數百條語句。

有沒有一種方法使用表單驗證助手只顯示一個錯誤消息,如果任何單選按鈕沒有選中?只需說「請檢查所有單選按鈕」。

+0

你的電臺應具有相同的名稱屬性,只有一個規則應該是相同的設置名稱屬性。 – AdrienXL

+0

@AdrienXL @AdrienXL在一個組中(即一個車組類型,一個房屋類型組)具有相同的名稱,其他組具有不同的名稱 – Vagician

+0

@Vagician'required'驗證規則不返回錯誤消息時該表單包含單選按鈕「check [this](https://github.com/EllisLab/CodeIgniter/issues/138)。使用隱藏字段並鏈接到您的單選按鈕。 – Yash

回答

0

你必須寫一個自定義的回調

$this->form_validation->set_rules('radio1', 'radio1', 'callback_radio_check'); 

並寫在你的控制器對應的功能

public function radio_check($input) 
    { 
     if ($this->post('radio1') || $this->post('radio2') || $this->post('radio3')) 
     { 
      return TRUE; 
     } 
     else 
     { 
      $this->form_validation->set_message('radio_check', 'This in an error message'); 
      return FALSE; 
     } 
    }