Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

chesterduh

[Resolvido] Validar formulário gerado dinamicamente

Mensagens Recomendadas

chesterduh    1
chesterduh

Boas pessoal,

Tenho um bootstrap modal que vai ser preenchido com um formulário gerado dinamicamente por php, utilizando ajax.

O que pretendia era utilizar o plugin validate do jquery para validar os campos desses form.

Em condições normais utilizaria por exemplo:

var FormValidation = function() {
var handleValidation = function() {
	var form = $('#nomeDoForm');
	form.validate({
		rules: {
			campo1: {
				required: true,
				minlength: 10
			},
			campo2: {
				required: true,
				email: true
			}
			//resto das regras
		}
		// resto das opções
	});
};
return {
	init: function() {
		handleValidation();
	}
};
}();

e chamava na página principal:

$(document).ready(function() {
FormValidation.init();
});

No entanto como o formulário é gerado após o carregamento da página o "selector" que indiquei não funciona. Pensei em utilizar o ".on()" mas também não estou a ter sucesso pois não estou a ver nenhum evento do form para accionar o ".on()".

Alguém tem alguma sugestão?

Desde já muito obrigado

EDIT:

Já consegui, em vez de iniciar o plugin na página principal, quando a esta é carregada, inicio o plugin imediatamente após gerar o formulário:

$.ajax({
   // opções do ajax
   complete: function() {
    FormValidation.init();
   };
});

Como é possível não me ter lembrado antes... :confused:

Editado por chesterduh

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.