将值转换为Date 对象。然后你可以用它来比较,例如。转换成 Unix 时间戳什么的……
有关Date:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date的更多信息,请参见此处
编辑:我将提供更多关于我的意思的信息....在 jQuery Validation Engine 页面的 Validators 部分下,查找其中的部分它描述了 funcCall[methodName]。
funcCall[methodName] - 使用第三方函数调用验证字段。如果发生验证错误,该函数必须返回一条错误消息,该错误消息将自动显示在错误提示中。
因此,您可以将函数处理程序附加到该字段,该函数将获取日期然后进行比较。
<input value="" class="validate[required,funcCall[checkDates]]" type="text" id="startdate" name="startdate" />
<input value="" class="validate[required,funcCall[checkDates]]" type="text" id="enddate" name="enddate" />
在页面某处,你有 JavaScrip 函数:
var checkDates = function(field, rules, i, options) {
// Do your date comparisons here between startdate and enddate values
};
编辑#2:
还有:
过去[现在,日期或另一个元素的名称] - 检查元素的值(隐含的日期)是否早于给定日期。当使用“NOW”作为参数时,将在浏览器中计算日期。当使用“#field name”(“#”是可选的)时,它将元素的值与同一表单中另一个元素的值进行比较。请注意,这可能与服务器日期不同。日期使用 ISO 格式 YYYY-MM-DD
和
future[NOW, a date or another element's name] - 检查元素的值(隐含的日期)是否大于给定的日期。当使用“NOW”作为参数时,将在浏览器中计算日期。当使用“#field name”(“#”是可选的)时,它将元素的值与同一表单中另一个元素的值进行比较。请注意,这可能与服务器日期不同。日期使用 ISO 格式 YYYY-MM-DD
如果这符合您的喜好,以下是标记:
<input value="" class="validate[required,past[#enddate]]" type="text" id="startdate" name="startdate" />
<input value="" class="validate[required,future[#startdate]]" type="text" id="enddate" name="enddate" />