Validação de campos de formulário com Javascript
Uma solução bastante simples e interessante para a validação de campos de formulários, utilizando javascript.
A mensagem não de erro, não abre-se num pop-up, mas sim ao lado do campo.
Para baixar o código javascript, clique aqui
Abaixo segue o código para ser inserido entre as tags <head>
<script type="text/javascript">
// Somente os dados dos campos deste formulário vai aqui.
// As rotinas/funções de uso geral estão no arquivo, que está separado.
function validateOnSubmit() {
var elem;
var errs=0;
// execute all element validations in reverse order, so focus gets
// set to the first one in error.
if (!validateTelnr (document.forms.demo.telnr, 'inf_telnr', true)) errs += 1;
if (!validateAge (document.forms.demo.age, 'inf_age', false)) errs += 1;
if (!validateEmail (document.forms.demo.email, 'inf_email', true)) errs += 1;
if (!validatePresent(document.forms.demo.from, 'inf_from')) errs += 1;
if (errs>1) alert('Campos Inválidos');
if (errs==1) alert('There is a field which needs correction before sending');
return (errs==0);
};
</script>
Agora, segue o código html, para ser inserido entre as tags <body>
<form name="demo" onsubmit="return validateOnSubmit()" action="#">
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="from">Seu nome:</label></div>
<div style="float:left">
<input type="text" name="from" id="from" size="35" maxlength="50" onchange="validatePresent(this, 'inf_from');">
</div>
<div id="inf_from">*</div>
</div><br />
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="email">Se e-mail:</label></div>
<div style="float:left">
<input type="text" name="email" id="email" size="35" maxlength="50" onchange="validateEmail(this, 'inf_email', true);">
</div>
<div id="inf_email">*</div>
<div><br />
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="age">Sua idade (em anos):</label></div>
<div style="float:left">
<input type="text" name="age" id="age" size="35" maxlength="5" onchange="validateAge(this, 'inf_age', false);">
</div>
<div id="inf_age"> </div>
</div><br />
<!-- Obs.: O elemento para receber mensagens de erro deve conter alguns dados (para a maioria, se não todos os navegadores). 1 é suficiente. -->
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="telnr">Seu telefone (fixo):</label></div>
<div style="float:left">
<input type="text" name="telnr" id="telnr" size="35" maxlength="25" onchange="validateTelnr(this, 'inf_telnr', true);">
</div>
<div id="inf_telnr">* Você pode usar espaços ou hífen!</div>
</div><br />
<div style="width: 100%">
<div> </div>
<div><input type="Submit" name="Submit" value=" Enviar "></div>
<div> </div>
</div>
</form>
Para ver o formulário em funcionamento, clique aqui.
É isso aí!
Abraços
fonte: http://www.xs4all.nl/~sbpoley/webmatters/formval.html
A mensagem não de erro, não abre-se num pop-up, mas sim ao lado do campo.
Para baixar o código javascript, clique aqui
Abaixo segue o código para ser inserido entre as tags <head>
<script type="text/javascript">
// Somente os dados dos campos deste formulário vai aqui.
// As rotinas/funções de uso geral estão no arquivo, que está separado.
function validateOnSubmit() {
var elem;
var errs=0;
// execute all element validations in reverse order, so focus gets
// set to the first one in error.
if (!validateTelnr (document.forms.demo.telnr, 'inf_telnr', true)) errs += 1;
if (!validateAge (document.forms.demo.age, 'inf_age', false)) errs += 1;
if (!validateEmail (document.forms.demo.email, 'inf_email', true)) errs += 1;
if (!validatePresent(document.forms.demo.from, 'inf_from')) errs += 1;
if (errs>1) alert('Campos Inválidos');
if (errs==1) alert('There is a field which needs correction before sending');
return (errs==0);
};
</script>
Agora, segue o código html, para ser inserido entre as tags <body>
<form name="demo" onsubmit="return validateOnSubmit()" action="#">
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="from">Seu nome:</label></div>
<div style="float:left">
<input type="text" name="from" id="from" size="35" maxlength="50" onchange="validatePresent(this, 'inf_from');">
</div>
<div id="inf_from">*</div>
</div><br />
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="email">Se e-mail:</label></div>
<div style="float:left">
<input type="text" name="email" id="email" size="35" maxlength="50" onchange="validateEmail(this, 'inf_email', true);">
</div>
<div id="inf_email">*</div>
<div><br />
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="age">Sua idade (em anos):</label></div>
<div style="float:left">
<input type="text" name="age" id="age" size="35" maxlength="5" onchange="validateAge(this, 'inf_age', false);">
</div>
<div id="inf_age"> </div>
</div><br />
<!-- Obs.: O elemento para receber mensagens de erro deve conter alguns dados (para a maioria, se não todos os navegadores). 1 é suficiente. -->
<div style="width: 100%">
<div style="width: 15%; float:left"><label for="telnr">Seu telefone (fixo):</label></div>
<div style="float:left">
<input type="text" name="telnr" id="telnr" size="35" maxlength="25" onchange="validateTelnr(this, 'inf_telnr', true);">
</div>
<div id="inf_telnr">* Você pode usar espaços ou hífen!</div>
</div><br />
<div style="width: 100%">
<div> </div>
<div><input type="Submit" name="Submit" value=" Enviar "></div>
<div> </div>
</div>
</form>
Para ver o formulário em funcionamento, clique aqui.
É isso aí!
Abraços
fonte: http://www.xs4all.nl/~sbpoley/webmatters/formval.html
Marcadores: Javascript

Titulo do Texto