2016-03-29 18 views
0

有一組的輸入框,例如:與一大組輸入框的表單驗證

<input type="text" class="form-control my-input" name="q1" size="63" value="<?= set_value("q1"); ?>"> 
<input type="text" class="form-control my-input" name="q2" size="63" value="<?= set_value("q2"); ?>"> 
.... 
<input type="text" class="form-control my-input" name="q100" size="63" value="<?= set_value("q30"); ?>"> 

有30個輸入框,從Q1到Q30

如果我想驗證他們,我需要設置

$this->form_validation->set_rules('q1', lang("q1"), 'required'); 

30次,如果沒有什麼重要,驗證錯誤消息將顯示30次。

因此,我想:

  1. 假設Q15不要求,循環通過柱陣列和檢查其他輸入框是否爲輸入或爲空。

  2. 只顯示一個錯誤消息,如果需要輸入框的任何一個不是輸入

如何笨實現這一目標?

+1

使用任何環路和重複,以30個 – itzmukeshy7

+0

非常感謝。如何處理名稱不符合模式的情況,以及如果輸入框中的任何一個驗證失敗,只顯示一條錯誤消息? – user782104

回答

2

下面是代碼示例

for($i = 1; $i <= 30; $i++){ 
    $this->form_validation->set_rules('q' + $i, lang('q' + $i), 'required'); 
} 

UPDATE 如果名稱不遵循模式:

$names = [1=>'q1', 'a1', 'd3', ...]; 

for($i = 1; $i <= 30; $i++){ 
    $this->form_validation->set_rules($names[$i], lang($names[$i]), 'required'); 
} 
+0

非常感謝,如果沒有輸入任何一個必填的輸入框,我怎麼才能顯示一個錯誤信息? – user782104

+1

爲名稱創建數組並使用此數組設置名稱;查看更新; – itzmukeshy7

+0

所需的錯誤將顯示多次,是否有任何建議只顯示一個自定義錯誤消息。例如。 「請把空白處全部填寫」 。感謝您的回覆 – user782104