验证结束日期是不是大于开始日期
Posted
技术标签:
【中文标题】验证结束日期是不是大于开始日期【英文标题】:validate end date equal to greater than start date验证结束日期是否大于开始日期 【发布时间】:2013-04-10 04:49:05 【问题描述】:我想检查结束日期是否大于或等于开始日期,使用 jquery 验证。它正在验证结束日期大于开始日期,但不允许结束日期等于开始日期,
这是我的代码 -
jQuery.validator.addMethod("greaterThan",
function(value, element, params)
if (!/Invalid|NaN/.test(new Date(value)))
return new Date(value) > new Date($(params).val());
return isNaN(value) && isNaN($(params).val())
|| (Number(value) > Number($(params).val()));
,'Must be greater than 0.');
jQuery("#collect_and_delivery").validate(
errorElement:'div',
rules:
from:
required:true
,
to:
required:true
,
start_date:
required:true
,
end_date:
required:true,
greaterThan: "#start_date"
,
messages:
from:"Please enter collect address",
to:"Please enter delivery address",
start_date:"Please enter shipping collect date",
end_date:
required:"Please enter shipping delivery date",
greaterThan:"Delivery date and Collect date should be proper"
);
【问题讨论】:
兄弟,在您的自定义验证器方法greaterThan
中使用 is greater than or equal to (>=)
。
【参考方案1】:
你应该在你的自定义方法greaterThan
中使用is greater than or equal to
(>=
)。
改变这一行:
return new Date(value) > new Date($(params).val());
收件人:
return new Date(value) >= new Date($(params).val());
享受...
【讨论】:
兄弟,它适用于我检查Demo Fiddle 是的,它正在工作,我的代码太乱了,我在另一个文件中进行了更改。对不起。谢谢。 兄弟,它工作不正常..它只检查一天..而不是年和月【参考方案2】:如果你想使用简单的 javascript 来比较日期。这是一个;简单易行。
function compareDate()
var str = document.getElementById("start_date").value;
var end = document.getElementById("end_date").value;
var year = str.substring(0,4);
var month = str.substring(5,7);
var date = str.substring(8,10);
var endYear = end.substring(0,4);
var endMonth = end.substring(5,7);
var endDate = end.substring(8,10);
var startDate = new Date(year, month-1, date);
var endDate = new Date(endYear, endMonth-1, endDate);
if (startDate > endDate)
alert('start date should be less than end date');
return false;
else return true;
【讨论】:
以上是关于验证结束日期是不是大于开始日期的主要内容,如果未能解决你的问题,请参考以下文章