jquery 验证 future 日期 addMethod();

标签 jquery date jquery-validate

关于 jquery 验证插件的一些问题,并且仅在未来日期。

我有一个像这样的输入字段:

<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:'_'});

对于验证插件,我尝试了这个 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);
});

最佳答案

您可以直接比较日期,不需要进行所有连接。

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);

});

您设置 fiddle 的方式也存在问题。您有 name="date_hinfahrt",但在 rules: 选项中您使用了 datefuture。此外,formtools.js 不适用于 type="date" 输入,因此它会清空该字段,导致它总是提示该字段是必需的;我将其更改为 type="text"

FIDDLE

关于jquery 验证 future 日期 addMethod();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28250044/

相关文章:

jquery - 伪造带有滚动条的文本区域并更新内容

javascript - 仅从另一个正则表达式中选择大写字母的正则表达式

javascript - 如果我把它放在submitHandler中,为什么我的按钮在jquery中会点击两次?

jquery - 如何使用 jQuery 动态更改 SVG 的填充颜色?

javascript - 如何忽略文本框中不需要的字符(JavaScript 或 jQuery)

Javascript 将时间转换为纪元格式

Java 将毫秒时间戳转换为相对于给定时区的日期

linux bash - 以自定义格式解析日期

javascript - 具有不同名称的一组复选框的 jQuery 验证方法

javascript - 如何使用 jQuery validate 验证此 Bootstrap 模式