「入力ボックス」などのビュー要素からコントローラーにある検証関数を呼び出すことは可能ですか。例:Gmailサインアップページのユーザー名フィールドは、マウスが離れたときに検証します...
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');
検証が失敗した場合、そうでない場合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 に答える