SOpt - questions/66518

Validador de data em formulário com jQuery, sendo que habilitará botão ao estar não vazio. Resposta para: http://pt.stackoverflow.com/questions/66518/habilitar-desabilitar-bot%C3%A3o-de-acordo-com-a-valida%C3%A7%C3%A3o-de-campos

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.1.47/jquery.form-validator.min.js"></script>
<form id="formulario">Usuário
    <input type="text" id="user" name="username" />
    <br />Email
    <input type="text" id="email" name="email" />
    <br />Aniversário
    <input type="date" id="aniv1" name="aniv1" class="checarData" data-validation="birthdate" data-validation-format="dd/mm/yyyy" />
    <input type="date" id="aniv2" name="aniv2" hidden="hidden" data-validation="birthdate" data-validation-format="dd/mm/yyyy" />
    <br />
    <input type="button" id="registrar" value="Registrar" disabled="disabled" />
</form>

JavaScript

$.validate({
    modules: 'date',
    onSuccess: function () {

        /* Impede o envio do formulário */
        return (false);

    }
});

/* 'form' é a TAG mesmo */
$('form > .checarData').on('validation', function (evt, valid) {

    document.getElementById("aniv2").value = document.getElementById("aniv1").value;
    
    /* Verifica se o campo não está vazio E SE a data está OK */
    if (valid) {
        $('#registrar').removeAttr('disabled');
    } else {
        $('#registrar').attr('disabled', 'disabled');
    }

});