参数化基于元素的jQuery Validate Message

时间:2018-05-23 18:39:11

标签: jquery jquery-validate

我有一个名为dateTodayOrLater的jQuery-Validate规则,它适用于元素ID editStartDateeditEndDate。根据字段的不同,我希望我的邮件格式为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
        }
    }
 }

0 个答案:

没有答案