我想使用codeigniter form_validator庫驗證表單。我該如何驗證codeigniter中的ajax表格
問題是數據來自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字段? –