【发布时间】:2012-12-19 19:12:27
【问题描述】:
我想使用 codeigniter form_validator 库验证表单。
问题是数据来自ajax,所以我不明白代码应该是怎样的。
public function register(){
$this->load->library('form_validation');
$json = $_POST['data'];
$json = json_decode($json);
$data = get_object_vars($json);
$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean');
if($this->form_validation->run()){
echo 'asdf';
} else {
echo 'xyz';
}
}
可以看到有一个类似于$_POST 超全局数组的$data 数组。如何验证 $data 数组并使用带有表单状态和错误消息的 json 编码数组发回响应?
这是我使用 ajax 发送数据的方式:
function register(){
var site_url = $("#site_url").val();
var post_url = site_url+"index.php/ajax/register";
var details = { };
details.username = $("#username").val();
details.password = $("#password").val();
details.rpassword = $("#rpassword").val();
details.country = $("#country").val();
details.postal_code = $("#postal_code").val();
details.email = $("#email").val();
details.date_of_birth = $("#date_of_birth").val();
var json = JSON.stringify(details);
$.post(post_url, {'data': json}, function(data){
alert(data);
//data = JSON.parse(data);
});
return false;
}
谢谢。
【问题讨论】:
-
如何从视图发送数据,能否显示 AJAX 调用?
-
我已经编辑了第一篇文章。我已经添加了 ajax 代码。
-
为什么要序列化数据并将其作为 JSON 发送?为什么不只使用 POST 字段?
标签: php forms codeigniter validation