3

I want to find all the fields name on which validation failed.

I want to apply error class on the validation failed fields. I know how to display the error message related to the field.

But some how I want to know the field name such that I can check the weather field is there in the list and add an error class to that field.

4

3 に答える 3

9

私を始めさせてくれたピットへの称賛。しかし、ピットの回答を使用したときに他の人が同じ問題を抱えている場合に備えて、これを追加する必要があります。CI 2.0 で試してみたところ、次の結果が得られました。

Call to undefined method MY_Form_validation::error_array()

カスタム フォーム検証から意図的に何かを呼び出そうとしたわけではないので、/system/libraries/Form_validation.php を調べました。少なくとも 2.0 では、関数 error_array() はありません。

これを修正するには、ファイル /application/libraries/MY_Form_validation.php を作成し (大文字と小文字を区別します)、次のコードを挿入します。

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation {

    function __construct(){
        parent::__construct();
    }

    function error_array(){
        return $this->_error_array; 
    }
}
?>

そうprint_r( $this->form_validation->error_array() )すればうまくいくでしょう。

于 2012-12-12T19:32:02.843 に答える
5

結果をどのように処理するかによって異なりますが、エラーフィールドを取得するために使用できる関数は次のとおりです。

print_r( $this->form_validation->error_array() )

さらに必要な場合は、/system/libraries/form_validation.php を参照してください。そこから、lib に関連して使用/使用可能な関数や変数名など、必要なものを見つけることができます。

于 2012-10-14T22:32:30.213 に答える
0

独自のカスタム メッセージを設定するには、そのファイルを編集するか、次の関数を使用します。

$this->form_validation->set_message('rule', 'Error Message');

rule は特定のルールの名前に対応し、Error Message は表示するテキストです。

エラー文字列に含める%sと、ルールを設定したときにフィールドに使用した「人間」の名前に置き換えられます。

$this->form_validation->set_rules(array('field' => 'name','label' => 'Full Name','rules' => 'required'));
$this->form_validation->set_message('required', '%s Must be fill!');

echo validation_errors() //Full name Must be fill!
于 2013-07-18T16:45:32.217 に答える