Jquery

.NET

29/02/2012

Pessoal eu já fiz um projeto com Jquery fom não usei Master Page, era o Html direto pra cada página, agora estou usando MasterPage e não estou conseguin validar os campos com preenchimento obrigatório. alguém tem alguma ideia?
Thiago Garcez

Thiago Garcez

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

29/02/2012

Como você está fazendo e quais erros está encontrando?
GOSTEI 0
Thiago Garcez

Thiago Garcez

29/02/2012

Como você está fazendo e quais erros está encontrando?


Fiz Assim.

<style type=text/css>
Content2 { font-family: Trebuchet MS; font-size: 10pt; padding: 50px; }
label.error { font-weight: bold; color: Red; display: block; }
input.error { border: 1px solid Red; }
</style>
<script type=text/javascript src=../Scripts/jquery.js></script>
<script type=text/javascript src=../Scripts/jquery.validate.js></script> <!-- Validador normal -->
<script type=text/javascript src=../Scripts/util.validate.js></script> <!-- Valida CPF e CNPJ-->
<script type=text/javascript src=../Scripts/jquery.maskedinput-1.1.4.pack.js></script> <!-- Mask Data, CPF, CEP...-->
<style type=text/css>

.style1
{
width: 60px;
}
.DivSrv
{
overflow: auto;
width: 800px;
height: 200px;
}
</style>
<script type=text/javascript>

//Criar a função principal do JQuery (manipula todo o documento)
<script type=text/javascript>

//Criar a função principal do JQuery (manipula todo o documento)
$(document).ready(function () {
$(#TxtTel1).mask((99) 9999-9999);
$(#TxtTel2).mask((99) 9999-9999);
$(#TxtCPF).mask(999.999.999-99);
$(#TxtCEP).mask(99999-999);
$(#TxtDtNascimento).mask(99/99/9999);

//Aplicar validação no formulário
$(#formulario).validate({
rules: {TxtCPF: { cpf: valid //valida tanto Formatação como os Digitos => cpf: both
//caso não queira validar a formatação use => cpf: valid
//caso só queira validar a formatação use => cpf: format
},
empresa.cnpj: {
cnpj: both //valida tanto Formatação como os Digitos
}
}
});

});

</script>

Porém quando clico no botão ele vai para direto fazer a função mesmo sem o usuário selecionar nenhuma data nem dropdown, mesmo eu botando nos campos class=required

Creio que o problema seja o seguinte antes eu não usava master page ou seja eu bota Body no Jquery e o Id do form, porém na Master Page não tem o Body e o asp:content
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

29/02/2012

Cara, no MasterPAge tem <body> normalmente. Você adiciona o link pros scripts na MasterPage e o script específico (para validação) você coloca na página que herdou da MasterPage.
Lembre de usar corretamente os ContentPlaceHolders.
GOSTEI 0
Thiago Garcez

Thiago Garcez

29/02/2012

Master page.

<style type=text/css>
Content2 { font-family: Trebuchet MS; font-size: 10pt; padding: 50px; }
label.error { font-weight: bold; color: Red; display: block; }
input.error { border: 1px solid Red; }
</style>
<script type=text/javascript src=../Scripts/jquery.js></script>
<script type=text/javascript src=../Scripts/jquery.validate.js></script> <!-- Validador normal -->
<script type=text/javascript src=../Scripts/util.validate.js></script> <!-- Valida CPF e CNPJ-->
<script type=text/javascript src=../Scripts/jquery.maskedinput-1.1.4.pack.js></script> <!-- Mask Data, CPF, CEP...-->
</style>



Páginda normal
<script type=text/javascript>

//Criar a função principal do JQuery (manipula todo o documento)
<script type=text/javascript>

//Criar a função principal do JQuery (manipula todo o documento)
$(document).ready(function () {
$(#TxtTel1).mask((99) 9999-9999);
$(#TxtTel2).mask((99) 9999-9999);
$(#TxtCPF).mask(999.999.999-99);
$(#TxtCEP).mask(99999-999);
$(#TxtDtNascimento).mask(99/99/9999);

//Aplicar validação no formulário
$(#formulario).validate({
rules: {TxtCPF: { cpf: valid //valida tanto Formatação como os Digitos => cpf: both
//caso não queira validar a formatação use => cpf: valid
//caso só queira validar a formatação use => cpf: format
},
empresa.cnpj: {
cnpj: both //valida tanto Formatação como os Digitos
}
}
});

});

</script>


Não consigo fazer nenhuma validação nem as mascaras. Alguém tem alguma ideia???
GOSTEI 0
Rodrigo Odasaki

Rodrigo Odasaki

29/02/2012

Uma dica: Quando você utiliza master page, os id dos elementos mudam.
Faça um teste, abra o chrome e aperte F12(Inspencionar elemento) e veja os valor que está para o id do controle é o mesmo que você definiu.

O que está acontecendo pode ser isto:

Você define um id para o controle utilizando a master page, e quando o código é renderizado ele retorna para o cliente com outro valor, e assim o jquery não consegue aplicar a validação.
GOSTEI 0
POSTAR