我試圖使用jQuery,Ajax和使用CodeIgniter的驗證JSON來驗證表單,這是我已經試過:使用CodeIgniter的jQuery的AJAX後驗證
這是我的控制器:
function cadastrar(){
$this->load->library('form_validation');
$this->form_validation->set_rules('nome', 'Nome', 'required|min_length[3]|max_length[15]');
$this->form_validation->set_rules('sobrenome', 'Sobrenome', 'required|min_length[3]|max_length[15]');
$this->form_validation->set_rules('senha', 'Senha', 'required|matches[confirmar]');
$this->form_validation->set_rules('confirmar', 'Confirmação de senha', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
if ($this->form_validation->run() == FALSE)
{
echo '{"mensagem": "Erro", "nome_erro": "' . form_error('nome') . '", "sobrenome_erro": "' . form_error('sobrenome') . '", "email_erro" : "' . form_error('email') . '", "senha_erro" : "' . form_error('senha') . '", "confirmar_erro" : "' . form_error('confirmar') . '" }';
}
else
{
echo '{"mensagem": "Registro com sucesso !", "nome_erro": "", "sobrenome_erro": "", "email_erro" : "", "senha_erro" : "", "confirmar_erro" : "" }';
}
}
,這是我的jQuery功能:
$(document).ready(function(){
$('.cadastrar_enviar').click(function(){
var nome = $('.cadastro_nome').val();
var sobrenome = $('.cadastro_sobrenome').val();
var email = $('.cadastro_email').val();
var senha = $('.cadastro_senha').val();
var confirmar = $('.cadastro_confirmar').val();
var mensagem = "";
$("#loading").show();
$.post('../index.php/usuario/cadastrar', {
"nome" : nome,
"sobrenome" : sobrenome,
"email" : email,
"senha" : senha,
"confirmar" : confirmar
}, function(data){
$('#loading').hide(500);
$('span#nome_erro').html(data.nome_erro);
$('span#sobrenome_erro').html(data.sobrenome_erro);
$('span#email_erro').html(data.email_erro);
$('span#senha_erro').html(data.senha_erro);
$('span#confirmar_erro').html(data.confirmar_erro);
alert(data.confirmar_erro);
$('#mensagem_oi').html(data.mensagem).show(500);
}, "json");
});
});
,我得到的錯誤沒有,form_error()不返回任何東西,任何人都可以給我一個提示?謝謝
如果您通過HTML表單發佈數據到頁面會發生什麼?你看到任何文字嗎? – fruchtose 2012-02-12 05:18:35
任何你沒有使用jQuery的原因[驗證插件](http://bassistance.de/jquery-plugins/jquery-plugin-validation/)?你可以使用javascript代碼的一小部分驗證這個表單,而不需要AJAX .... – 2012-02-12 05:37:42
@Madmartigan我會同意使用jQuery驗證插件比這更好。但是,這個帖子不應該被低估。如果downvote是由於某種其他原因而道歉。 – user824294 2012-02-12 05:49:01