2012-09-19 54 views
1

我試圖用一種更清潔的方式解決問題。基本上發生了什麼是我有一個形式,其中我有2個領域,其中一個或另一個需要出席的表格是有效的。我的問題是,如果我根據需要標記這兩個字段,它們將在整個表單輸入過程中需要。使用代碼點火器形式驗證2個字段中的1個

if ($this->input->post('field1')) 
{ 
    make field1 required 
} 
else if ($this->input->post('field2')) 
{ 
    make field2 required 
} 
else 
{ 
    make field1 && field2 required 
} 

問題在於其他......如果我讓它們都是必需的;當它第一次查找錯誤時,它會檢查這兩個字段是否被填充,並且如果填充了field1,那麼當它真的不應該時,field2將顯示爲必需的,並且錯誤消息在再次檢查後不會消失。

另一個選項是不需要離開field1和2,但這意味着如果他們輸入正確的信息,但將這兩個字段留空,它將提交。

任何想法將不勝感激。

**注意:我相信我已經解決了這個問題,通過將field1 + field2設置爲加載時需要,他們根據用戶輸入和提交按鈕上的單擊事件進行更新。

回答

1

最乾淨,並驗證在笨形式最簡單的方法是使用它們的形式validation library

First you have to manually load or auto load your library 

$this->load->library('form_validation'); or $autoload['libraries']= array('form_validation'); 

You have to set rules for each field like 

$this->form_validation('field_name','Field Label','required'); 

他們的手工實在是值得一讀。我目前正在開發一個codeigniter應用程序,它非常有趣和容易

+0

是的,我剛剛開始使用它,我正在爆炸。我設法弄清楚了我的問題。我不知道爲什麼,但它可能是我的本地環境,錯誤沒有被動態讀取。我將字段1 + 2設置爲必填字段,然後如果用戶更新表單,字段會根據用戶的輸入更改爲不需要,並相應地更新錯誤消息! CHeers尋求幫助。 – loneghostbandit

相關問題