我學會了IE瀏覽器在使用jQuery Validate Plugin(https://jqueryvalidation.org/)驗證日期時遇到的一些問題。jQuery .validate - 在Internet Explorer中驗證日期
我的規則只是starttime: {required: true, date: true}
,但我的格式是DD-MMM-YYYY hh:mm a
,即2017年8月31日上午9:43。
這適用於其他瀏覽器,但IE說它是無效的日期。請注意,驗證正在處理其他領域。
這裏有一些很好的答案:Custom date format with jQuery validation plugin但具體而言,我如何在IE中驗證我的日期格式?
我的猜測是我需要添加一個自定義的方法,但它應該是什麼? RegEx或自定義日期,以及如何?對於RegEx驗證日期的格式而不驗證日期本身(例如32/01/2017),我確定,因爲此頁面使用日期選擇器,並且用戶無法直接輸入數據。
EDIT(包括實際的代碼):
<script type="text/javascript" src="js/plugins/jquery-validate/jquery.validate.min.js"></script>
<script>
$(document).ready(function(){
if ($("#newinspectionform").length > 0) {
var validate = $("#newinspectionform").validate({
errorClass: "has-error",
validClass: "",
errorElement: "span",
ignore: [],
errorPlacement: function (error, element) {
$(element).after(error);
$(element).parents(".form-group").addClass("has-error");
},
highlight: function (element, errorClass) {
$(element).parents(".form-group").removeClass("has-success").addClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".form-group").removeClass(errorClass).addClass(validClass);
},
rules: {
propertyid: {required: true},
type: {required: true},
starttime: {required: true, date: true},
endtime: {required: true, date: true}
}
});
}
... other stuff
</script>
你檢查了這個? https://stackoverflow.com/questions/4809451/date-validator-on-datepicker-trigger-false-negatives-in-ie7-ie8 –
是的 - 有一些這樣的,但不幸的是這些解決方案並沒有幫助這種情況。 – Warren