jquery validate plugin的一些问题,以及将来的日期。
我有一个像这样的输入字段:
<input id="date_hinfahrt" class="gui-input error" type="date" required="" name="datefuture" placeholder=" DD/MM/YYYY" aria-required="true" aria-invalid="true">
拜托,我不想要日期选择器!只有这样的面具:
$("#datefuture").mask('99/99/9999', {placeholder:'_'});
对于validate插件,我试试这个addMethod(); 但它不起作用,我希望有人可以帮助我。
$.validator.addMethod("minDate", function(value, element) {
var now = new Date();
var myDate = new Date(value);
var mD = ("0" + (myDate.getDate())).slice(-2) + '/' + ("0" + (myDate.getMonth()+1)).slice(-2) + '/' + myDate.getFullYear();
var nowdate = ("0" + (now.getDate())).slice(-2) + '/' + ("0" + (now.getMonth()+1)).slice(-2) + '/' + now.getFullYear();
return this.optional(element) || mD > nowdate;
// else alert('Das passt nicht!' + mD + ' ' + nowdate);
});
答案 0 :(得分:5)
您可以直接比较日期,不需要进行所有连接。
jQuery.validator.addMethod("minDate", function (value, element) {
var now = new Date();
var myDate = new Date(value);
return this.optional(element) || myDate > now;
// else alert('Das passt nicht!' + mD + ' ' + nowdate);
});
你设置小提琴的方式也存在问题。您有name="date_hinfahrt"
,但在rules:
选项中,您使用了datefuture
。此外,formtools.js
不能与type="date"
输入一起使用,因此它会清空该字段,导致它总是抱怨该字段是必需的;我将其更改为type="text"
。