Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um formulario onde é feita uma validação dos campos automaticamente na pagina mas tem 1 campo, o de data onde eu uso o Datepicker do UI, que não valida corretamente.
O problema parece ser que quando eu abro o datepicker ele ja valida ou seja, sem nenhuma info no campo, e quando eu seleciono a data e ela é enviada para o campo não é feita uma nova validação.
Como eu poderia resolver isso?
Formulário:
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
<script type="text/javascript">
$(function() {
$( "#nascimento" ).datepicker({
changeMonth: true,
changeYear: true,
maxDate: "-1D",
yearRange: 'c-50:c+10'
});
});
</script>
<form action='' id='cadastro' method='post'>
<div class="cadastro_txt">Data de nascimento:</div>
<div class="cadastro_campo"><input class='input_cadastro' name='nascimento' id='nascimento' type='text'/></div>
<span id="nascimentoInfo"> </span>
<script type="text/javascript" src="js/validation.js"></script>
<input id="send" name="send" type="submit" value="Cadastrar" />
</form>
validation.js:
$(document).ready(function(){
//global vars
var form = $("#cadastro");
var nascimento = $("#nascimento");
var nascimentoInfo = $("#nascimentoInfo");
//On blur
nascimento.blur(validateNascimento);
//On key press
nascimento.keyup(validateNascimento);
//On Submitting
form.submit(function(){
if(validateNascimento())
return true
else
return false;
});
//validation functions
function validateNascimento(){
alert('oi');
//testing regular expression
var a = $("#nascimento").val();
var filter = /^([0-9]|[0,1,2][0-9]|3[0,1])\/([\d]|1[0,1,2])\/\d{4}$/;
//if it's valid nascimento
if(filter.test(a)){
nascimento.removeClass("error");
nascimentoInfo.html("<img src='img/ok.png'/>");
nascimentoInfo.removeClass("error");
return true;
}
//if it's NOT valid
else{
nascimento.addClass("error");
nascimentoInfo.html("<img src='img/erro.png'/>");
nascimentoInfo.addClass("error");
return false;
}
}
});Carregando comentários...