我有一个名为dateTodayOrLater
的jQuery-Validate规则,它适用于元素ID editStartDate
和editEndDate
。根据字段的不同,我希望我的邮件格式为Start Time / End Time
。
我遵循语法,其中消息是方法定义之后的第二个参数。但是,下面的方法不起作用,显然是因为函数体外没有$(element)
。有任何快速的解决方法吗?
jQuery.validator.addMethod("dateTodayOrLater", function(value, element, params) {
var momentValue = moment(value, 'MM/DD/YYYY', true);
if (momentValue.isValid()) {
var momentToday = moment().startOf('day'); // today without time
if (momentValue.isSameOrAfter(momentToday)) {
return true;
} else {
return false;
}
}
else
return true;
}, "The " + ( $(element).attr('id') == 'editStartDate' ? 'Start Date' : 'End Date') +
" must be the current date or a future date.");
// Note: The above Message param isn't working, "element" not available
应用为
$("#editForm").validate({
rules: {
"startDate": {
dateValid: true,
dateTodayOrLater: true
},
"endDate": {
dateValid: true,
dateTodayOrLater: true
}
}
}