2017-07-20 24 views
0

我在這裏卡住了codeigniter表單驗證。以下是我的代碼如下。驗證失敗即使在正確的條件下

$match_data = $this->input->post('match_data'); 

     $this->load->library('form_validation'); 

     foreach($match_data as $roundno => $round_data) { 
      foreach ($round_data as $roundtimes => $round_times_data) { 
       foreach ($round_times_data as $match_no => $match) { 
        foreach ($match as $games_times => $games) { 
         $this->form_validation->set_rules("match_data[".$roundno."][".$roundtimes."][".$match_no."][".$games_times."][score1]", "score1", "trim|xss_clean|numeric"); 
         $this->form_validation->set_rules("match_data[".$roundno."][".$roundtimes."][".$match_no."][".$games_times."][score2]", "score2", "trim|xss_clean|numeric"); 
        } 
       } 
      } 
     } 

當我提交a,b,c或類似的東西時,驗證檢查就沒有問題。但一旦我把正確的數值,它仍然顯示我的錯誤。請幫我找出問題所在?這裏是我輸入的代碼提交

<div class="row"> 
    <div class="col-sm-6"> 
      <input class="form-control" type="text" name="match_data[<?php echo $edit_round_num; ?>][<?php echo $matchtime; ?>][<?php echo $match; ?>][<?php echo $gametime+1; ?>][score1]" value="<?php echo $games_per_match_array_one[$gametime]; ?>" /> 
</div> 
                           <div class="col-sm-6"> 
    <input class="form-control" type="text" name="match_data[<?php echo $edit_round_num; ?>][<?php echo $matchtime; ?>][<?php echo $match; ?>][<?php echo $gametime+1; ?>][score2]" value="<?php echo $games_per_match_array_two[$gametime]; ?>" /> 
                           </div> 
                          </div> 
+1

4 foreach循環?請顯示完整的表格。我相信有比4遞歸foreach循環更好的方法。 – Tpojka

+0

我的問題得到了解決.. incase的數字修剪| xss_clean不會給 –

+0

如果你不解決遞歸foreach,它將是資源非常消耗的應用程序。 – Tpojka

回答

0

在驗證numeric值驗證trim|xss _clean不工作或需要的情況下。所以一旦刪除trim|xss_clean代碼開始工作。

相關問題