0

「入力ボックス」などのビュー要素からコントローラーにある検証関数を呼び出すことは可能ですか。例:Gmailサインアップページのユーザー名フィールドは、マウスが離れたときに検証します...

4

1 に答える 1

0

これを行うには、ajaxを使用する必要があります。

http://api.jquery.com/jQuery.ajax/のドキュメント$.ajax();

$.ajax({
  url: "url/to/controller/validationaction",
  success: function(data){
    //do something since validation
    //passed.
  },
  error: function(d,r,x){
    //do something since validation
    //failed.
  }
});

非常に改善的な例です。

コントローラは、を使用してhttp障害ステータスコードを返します

$this->output->set_status_header(code, 'text');

CIの出力ドキュメントへのリンク

httpステータスコードのリスト

検証が失敗した場合、そうでない場合return TRUE;は、メッセージのjson_encoded配列をエコーし​​ます。

$message = array(
  'message' => 'Success!',
  'type' => 'succes',
);
echo json_encode($message);

jQuery検証の使用

jquery / javascriptを使用して検証クライアント側を処理することもできます。これにより、ユーザーの入力を検証するためだけにhttpリクエストを行う必要がなくなります。

このための人気のあるプラグインの1つは、http://bassistance.de/jquery-plugins/jquery-plugin-validation/です。

ユーザーがjquery/javascriptを無効にした場合でも、codeignitersフォーム検証ヘルパーを介して検証するフェイルセーフメソッドを用意する必要があることに注意してください。

于 2012-07-24T02:09:59.640 に答える