Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Utilizar html5 em navegadores que não o suportam
- <script>
- // Ao carregar o documento
- jQuery(document).ready(function(){
- // Ao clicar em um dos campos do formulário, oculta a div que mostra as mensagens de erro
- jQuery('form input').click(function(){
- jQuery("form .erro").fadeOut("slow");
- });
- // Se o navegador não possui suporte para o atributo "required" ou "pattern"
- if (!Modernizr.input.required || !Modernizr.input.pattern) {
- jQuery('form').submit(function() {
- var validacao_ok = true;
- // Itera sobre campos que possuem os atributos required e pattern
- jQuery('[required], [pattern]').each(function(){
- // Se o campo for "requerido" e se estiver em branco, exibe o alerta.
- if ((jQuery(this).attr('required') !== false) && (jQuery(this).val() == "")){
- jQuery(this).focus(); // Muda o foco para o campo
- jQuery("form .erro").text("O campo " + jQuery(this).attr('name') + " precisa ser preenchido!").fadeIn("slow");
- validacao_ok = false; // A validação não passou. Retorna False.
- return validacao_ok;
- }
- // Se o campo for do tipo "email", usa uma expressão regular para validá-lo
- if( jQuery(this).attr('type')=="email" )
- {
- // Expressão regular para validação de e-mail
- var regexp = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
- if (!regexp.test(jQuery(this).val())){
- jQuery(this).focus();
- jQuery("form .erro").text("Digite um e-mail válido.").fadeIn("slow");
- validacao_ok = false;
- return validacao_ok;
- }
- }
- // Executa as expressões regulares dos campos
- if (jQuery(this).attr('pattern')){
- var regexp = new RegExp(jQuery(this).attr('pattern'));
- // Se o dado não passou na expressão regular
- if (!regexp.test(jQuery(this).val())){
- jQuery(this).focus();
- jQuery("form .erro").text("É preciso que o formato corresponda ao exigido.").fadeIn("slow");
- validacao_ok = false;
- return false;
- }
- }
- });
- // Se não houve nenhum erro de validação, retorna TRUE para que o formulário seja enviado.
- return validacao_ok;
- });
- }
- });
- </script>
- Css:
- <style>
- .erro{
- padding: 0.5em;
- background-color: #FFEAEA;
- border: solid 1px #CC0000;
- display: none;
- }
- </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement