moment.js isValid test

by kotlinsky

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/css/base/minified/jquery-ui.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.1.0/knockout-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.3.2/knockout.mapping.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/amplifyjs/1.1.0/amplify.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.9.0/jquery.validate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.3.1/jquery.maskedinput.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/qtip2/2.0.1/jquery.qtip.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/qtip2/2.0.1/jquery.qtip.css">
<input id="txtDate" name="date" value="-2/-1/-999" />

<button id="btnTest">Test</button>

<p>
    The date is <span id="result"></span>.
</p>

JavaScript

$(document).ready(function () {
    var testDate = function(strDate) {
        var formats = ["M/D/YYYY","MM/DD/YYYY"],
            valid = moment(strDate, formats).isValid();
        $("#result").html(valid ? "valid" : "not valid");
    };
    
    $("#btnTest").on("click", function () {
        testDate($("#txtDate").val());
    }).trigger("click");
});