alcatrazbr
10/29/2016 - 1:00 AM

esquema para validação/validar de campos

esquema para validação/validar de campos

/* ======================================================================== */
/* formatar campos obrigatórios                                             */
/* ======================================================================== */
.form-group.has-info .form-control {
    border-color: #A1C4E1 !important;
    box-shadow: none;
}

.form-group.has-info label {
    color: #0378DC;
}

.form-group.has-info label::after { 
    content: " *";
}
	/* ======================================================================== */
	/* marcar campos obrigatórios												*/
	/* ======================================================================== */
	$("input[required='required']").each(function() {
		$(this).closest('.form-group').addClass('has-info');
	});

	$("select[required='required']").each(function() {
		$(this).closest('.form-group').addClass('has-info');
	});


	$("input[required='1']").each(function() {
		$(this).closest('.form-group').addClass('has-info');
	});


function validateForm() {
  var isValid = true;
  $("input[required='1']").each(function() {
    if ( $(this).val() === '' ) {
    	isValid = false;
    	$(this).closest('.form-group').addClass('has-error').removeClass('has-info');
    }
  });

  $("select[required='1']").each(function() {
    if ( $(this).val() === '' ) {
    	isValid = false;
    	$(this).closest('.form-group').addClass('has-error').removeClass('has-info');
    }
  });

  $("input[required='required']").each(function() {
    if ( $(this).val() === '' ) {
    	if ($(this).is(":visible")) {
	    	isValid = false;		    	
	    	$(this).closest('.form-group').addClass('has-error').removeClass('has-info');	
	    	errMessage.push($(this).attr("title"));
    	} else {
    		$(this).closest('.form-group').removeClass('has-error').removeClass('has-info');
    	}
    }
  });

  $("select[required='required']").each(function() {
    if ( $(this).val() === '' ) {
    	if ($(this).is(":visible")) {
	    	isValid = false;
	    	$(this).closest('.form-group').addClass('has-error').removeClass('has-info');
	    	errMessage.push($(this).attr("title"));
	    }
    }
  });
  return isValid;
}
$(document).on('click', '.btnGravar', function(event) {
			console.log('gravar');
			if (!validateForm()) {
				$("#retorno").removeClass('hidden');				
				// $("#retorno").empty();
				$("#retorno #title").append('<strong>Preencha os campos obrigatórios</strong>');
				// $("#retorno").append('<ul id="fields"></ul>');
				$("ul#fields").empty();

				$.each(errMessage, function(index, val) {
					$("ul#fields").append("<li>"+val+"</li>");
					console.log(val);
				});
				errMessage = [];
				return;
			}
			// $("#frmCadastro").submit();
});
<!-- div para exibir uma mensagem de erro -->
<div class="alert alert-danger hidden" id="retorno">
	<button type="button" class="close" onclick="$('#retorno').addClass('hidden')" aria-hidden="true">&times;</button>
	<p id="title"></p>
	<ul id="fields"></ul>
</div>