0

jQuery Validation プラグインとコード イグナイター form_validation クラスを一度に含めたい場合は、jQuery 検証スクリプトと CodeIgniter form_validation の両方で検証ルールを定義する必要があります。1 回の通話で両方を混在させる方法はありますか。同様に、jQuery または CodeIgniter のいずれかで検証ルールを 1 回だけ定義したい

jQuery: http://docs.jquery.com/Plugins/Validation
CodeIgniter http://codeigniter.com/user_guide/libraries/form_validation.html

今すぐ処理:

//jQuery
$("#username").validate({
 debug: true
})

コードイグナイター:

//Code igniter
$this->form_validation->set_rules('username', 'Username', 'callback_username_check');

1) コントローラにライブラリをロードします。

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

2) CodeIgniter の標準の検証ルールを設定します ( form_validtion ライブラリを持つ同じルール形式)。

$rules = array(
            array(
                 'field'   => 'username',
                 'label'   => 'Username',
                 'rules'   => 'required|min_length[2]'
              ),
           array(
                 'field'   => 'email',
                 'label'   => 'Email',
                 'rules'   => 'required|valid_email'
              ),
           array(
                 'field'   => 'url',
                 'label'   => 'URL',
                 'rules'   => 'required'
              )
       );

3) エラーメッセージを設定します。

$messages = array(
             'username'  => array( 'required'    => "Username is required",
                                   'min_length'  => "Please enter more then 2 char"
                                 ),

             'email'     => array( 'required'    => "Email is required",
                                   'valid_email' => "Please enter valid email"
                                 )
             );

4) 検証ルールとメッセージをライブラリに適用します。

$this->jquery_validation->set_rules($rules);
$this->jquery_validation->set_messages($messages);

5) Javascript 検証コードを生成します。

// pass css selector for your form to run method

$validation_script = $this->jquery_validation->run('#registration_form');

// echo $validation_script in your <script> tag

これは、コード イグナイターの検証定義を使用して jquery 検証を追加する方法です。私の質問は、この検証ルールをクライアント側とサーバー側の両方の検証に使用する検証ライブラリを取得することです。

4

1 に答える 1

1

jQuery の検証はクライアントで行われます。

Codeigniter の検証はサーバー上で行われます。

それらは互いに完全に独立しています。ルールを正しく設定すると、Codeigniter の検証は、何らかの理由で jQuery の検証が行われない場合にのみ行われます。

于 2013-04-08T13:31:43.983 に答える