2010-12-07 12 views
2

カスタムコールバックを利用して、フォーム検証を通じてユーザー入力の配列を実行しています。送信された各データ値は、このカスタムコールバックを渡す必要があります。それらが合格しなかった場合は、無効な値に対してユニークなエラーメッセージを設定します。Codeigniterでコールバックを使用して配列を検証する

しかし、私は各ルールに1つのエラーメッセージしか割り当てることができないようです。各値が独自のエラーを維持できるように失敗したコールバックによって実行されているすべての値にエラーを割り当てる最良の方法は何ですか?

+1

CIとそのフォーム検証ライブラリの理解は、検証が「フィールドごと」で行われることです。これは興味深いかもしれませんhttp://codeigniter.com/wiki/Assosiative_Arrays_via_POST/それを正しく読んでいない – Ross

+0

私たちが良いアイデアを得るためにあなたのコードを提供してください。 – NexusRex

答えて

1

CodeIgniterのフォーム検証では、ルールごとに1つのメッセージが許可されます。

0

あなたができることは、FALSEを返す前に、コールバックメソッド内のその検証規則のカスタムエラーメッセージを設定することです。例:

function _callback($str){ 
    .... // do validation checks 
    $this->form_validation->set_message('_callback', 'Your input ' . $str . 'is not valid'); 
} 

このようにして、1つの汎用メッセージではなく、入力文字列にエラーが表示されることがあります。

+0

答えをありがとう、しかし私は完全に各エラーをカスタマイズし、 "1つの文字列"の問題を回避する方法を探していた。私は、CI Validationを使用して一般的なエラーを設定し、セッションを使用して他のエラーを設定すると考えています。 –

+0

ケースバイケースでより具体的なエラーを設定する場合は、flashdataを使用することもお勧めです。私は自分のアプリの1つに通知とエラーを設定し、魅力的に機能します。 – Shivaas

関連する問題