Past Date Validator

by Subigya Panta

HTML

<form id="braintree-payment-form" method="post">
        <div class="row">
                <div class="col-sm-4">
                  <div class="form-group rmp">
                    <label for="expiryMonth">Expiry Month*</label>
                    <select name="expdate_month" class="form-control" id="expiryMonth">
                      <option value="">Select Month</option>
                      <option value="1">January</option>
                      <option value="2">Feburary</option>
                      <option value="3">March</option>
                      <option value="4">April</option>
                      <option value="5">May</option>
                      <option value="6">June</option>
                      <option value="7">July</option>
                      <option value="8">August</option>
                      <option value="9">September</option>
                      <option value="10">October</option>
                      <option value="11">Novemember</option>
                      <option value="12">December</option>
                    </select> 
                    <p id="yrmsg" style="color:red;"></p>
                  </div>
                </div>
                <div class="col-sm-4">
                  <div class="form-group rmp">
                    <label for="expiryYear">Expiry Year*</label>
                      <select name="expdate_year" class="form-control" id="expiryYear">
                        <option value="">Select Year</option>
                        <option value="2015">2015</option>
                        <option value="2016">2016</option>
                        <option value="2017">2017</option>
                        <option value="2018">2018</option>
                        <option value="2019">2019</option>
                        <option value="2020">2020</option>
                        <option value="2021">2021</option>
                        <option value="2022">2022</option>
                        <option...

JavaScript

(function($){
                var date = new Date();
                var defaultSettings = {
                    day: date.getDay(),
                    month: date.getMonth(),
                    year: date.getFullYear()
                };
                $.fn.validatePastDate = function(options){
                    var settings = $.extend({}, defaultSettings, options);
                    
                    var userDate = new Date();
                    userDate.setYear(settings.year);
                    userDate.setMonth(settings.month);
                    userDate.setDate((settings.day));
                    
                    if( userDate < Date.now() ){
                        return false;
                    }
                    else {
                        return true;
                    }
                };
            })(jQuery);
            
            (function($){
                $('#braintree-payment-form').submit(function(event){
                    event.preventDefault();
                    var selectedYear = $('#expiryYear').val();
                    var selectedMonth = $('#expiryMonth').val();
                    
                    var validDate = $(this).validatePastDate({
                        month: selectedMonth,
                        year: selectedYear
                    });
                    alert(validDate);
                });
            })(jQuery);