2017-10-24 15 views
0

私はcodeigniterデータ入力フォームを構築しています。しかし、フォームは、JS内で、送信する必要があるエントリの数に基づいて、ほとんどが動的に生成されます。codeigniter形式のフィールド配列のインデックスを取得するにはどうすればよいですか?

これは私がそれを検証するに

<input type='text' name='invoice[]' id='invoice" + index + "' class='form-control' size='20' value=''> 

を使用しなければならないことを意味私は

$this->form_validation->set_rules('invoice[]', 'Invoice field', 'required|trim|alpha_numeric|is_unique[BillingInvoices.InvoiceNumber]', 
      array('required' => 'Must enter invoice number.', 
       'alpha_numeric' => 'Invoice can only contain letters and numbers', 
       'is_unique' => 'Invoice number must be unique in database.') 
     ); 

を使用する私の問題は、今私はそのルールをトリガーするエントリのインデックスを取得する方法が分からないということです。私のクライアントは、問題の原因となっている請求書を知る必要があります。

答えて

0

私はjavascriptでもそれを検証します。主要なブラウザのほとんどはjavascriptをサポートしているため、ほとんどすべてのユーザーがフォームを送信する前にエラーが発生します。

ステップ1:セットアップvalidate.jsのような任意のバリデーションを行うjavascriptライブラリ(または他の)プロジェクト内

は、これが私の提案です。

ステップ2:ユーザーがフォームを送信する前にエラーを受け取れるように、javascript検証を設定します。影響を受ける入力でエラーが発生します。

ステップ3:PHP検証を維持します。これは重要なことです.Javascriptを無効にするかハッキングすることができるため、常にサーバーでユーザー情報を検証する必要があります。

このようにすると、ユーザーはフォームにエラーメッセージが表示され、データベースには常に適切な情報が得られます。

これは、挨拶に役立ちます。

関連する問題