Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patricia

Validação

Recommended Posts

pessoal tenho um formulário com 10 campospreciso validá-los, mas eu tô com dúvida, pois se eu fizer assim:If <campo1> = "" thenerr = 1elseif <campo2> = "" thenerr = 1mas dessa forma ele vai mostrar o erro um a um, tipo mostra o erro no campo, aí pessoa preenche o campo 1 e ele mostra o erro no campo 2, e assim por diantequeria que fosse lida toda a validação e depois mostrasse todos os erros de uma só vez!!após cada campo do formulário tá assim <%if err = 1 then%> X <%end if%>como eu faço isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patrícia,Você não acha melhor fazer isso em Javascript? Tipo:<form method="POST" action="xyz.asp" name="form1" OnSubmit="return valida(this)">function valida(Form) {if (Form.dominio.value.length == 0) { alert('Por favor preencha o campo Domínio!'); Form.dominio.focus(); return false; } if (Form.r_social.value.length == 0 && cnpj.length > 0) { alert('Por favor preencha o campo Razão Social!'); Form.r_social.focus(); return false; }etc...T+Manga

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não entendo muito de javascritp, e além do mais a validação não vai só verificar se os campos estão brancos, eu postei dizendo assim , mas eu queria saber como faço pra que toda a validação seja lida e depois mostrada TODOS os erros, ao invés de um a um!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma variável para cada campo e depois chame todas:Dim err_campo1, err_campo2If Request.Form("campo1") = "" Thenerr_campo1 = 1Elseif Request.Form("campo2") = "" Thenerr_campo2 = 1End IfIf err_campo1 = 1Response.Write "Preencha campo1 <BR>"end ifIf err_campo2 = 1Response.Write "Preencha campo2 <BR>"end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, o certo é assim:Dim err_campo1, err_campo2If Request.Form("campo1") = "" Thenerr_campo1 = 1End Ifif Request.Form("campo2") = "" Thenerr_campo2 = 1End IfIf err_campo1 = 1Response.Write "Preencha campo1 <BR>"end ifIf err_campo2 = 1Response.Write "Preencha campo2 <BR>"end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, o certo é assim:Dim err_campo1, err_campo2If Request.Form("campo1") = "" Thenerr_campo1 = 1End Ifif Request.Form("campo2") = "" Thenerr_campo2 = 1End IfIf err_campo1 = 1Response.Write "Preencha campo1 <BR>"end ifIf err_campo2 = 1Response.Write "Preencha campo2 <BR>"end if

se eu fizer dessa forma o sistema valida um campo de cada vezse eu tiver 3 campos, e preencher somente o segundo campo, ele só mostra a mensagem de erro no primeiro campo, pois ele leuIf Request.Form("campo1") = "" Thenerr_campo1 = 1End Ifaí após arrumar este campo (1) ele vai dar erro no campo 3eu queria que ele mostrasse o erro em todos os camposlesse TODA a validação antes de colocar as mensagens de erro nos devidos lugares

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não Patrícia, com esse código ele irá retornar todos os erros que existirem. Todas as variáveis de erro com valor = 1 serão escritas no Response.Write

Compartilhar este post


Link para o post
Compartilhar em outros sites

Note que não à else.Se tivesse seria assim:Se nome for igual a nada entãoerr 1senãomostra o erros dois e assim por diante.Agora.Se nome for igual a nadase email for igual a nada.ele vai mostrando os erros..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.