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 请求来验证用户的输入。

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

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

于 2012-07-24T02:09:59.640 回答