从文本框鼠标调用验证方法会离开Codeigniter

时间:2012-07-24 02:02:00

标签: php codeigniter codeigniter-2

是否可以从“输入框”等视图元素中调用位于控制器中的验证功能。例如:鼠标离开时gmail注册页面用户名字段验证...

1 个答案:

答案 0 :(得分:0)

你需要使用ajax来做到这一点。

$.ajax(); http://api.jquery.com/jQuery.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');

Link to CI's Output Documentation

list of http status codes

如果验证失败,否则return TRUE;或回显消息的json_encoded数组..

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

使用jQuery验证

您还可以依赖jquery / javascript来处理验证客户端,这样可以防止您只是为了验证用户的输入而发出http请求。

一个流行的插件是:http://bassistance.de/jquery-plugins/jquery-plugin-validation/

应该注意的是,如果用户禁用了jquery / javascript,你需要有一个故障安全方法,它将通过codeigniters表单验证帮助器进行验证。