我有一个应用程序,用户可以在其中输入日期,并且有一个验证,该验证仅在值是将来的日期时才返回true。 这是我的代码
<input type="text" id="date_of_stop" name="date_of_stop" class="form-control" placeholder="mm/dd/yyyy">
$.validator.addMethod("futuredate", function(value, element) {
var a = $("#date_of_stop").val()
var date_of_stop = new Date(a)
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)){
if (Date.parse($("#date_of_stop").val()) > Date.parse(fullDate)){
$("#date_of_stop").val('');
return true;
}
else{
alert ('Entered Else')
return false;
}
}
else{
if (isNaN(date_of_stop.getTime())) {
$("#date_of_stop").val('');
return
}
else{
return Date.parse($("#date_of_stop").val()) < Date.parse(fullDate);
}
}
}, "Entry was invalid or blank. Date cannot be in the future");
输入类型为日期选择器,当前我的验证对其他浏览器而言效果很好,我对IE进行了特殊检查,它也正确输入并显示了正确的错误,但是即使日期为以后不会进入else块并正确地向我显示警报框,但仍然返回true并向我显示验证消息,在这种情况下它应该返回false并允许我继续 我无法弄清楚为什么即使输入正确的块也不会返回false。任何帮助表示赞赏。谢谢