JQuery验证器插件-单击按钮添加规则

JQuery验证器插件-单击按钮添加规则,jquery,jquery-validate,Jquery,Jquery Validate,我有这样的场景: 页面上有两个文本框(FromDate和ToDate),显示JQuery DatePicker onkeydown,在这些文本框下面有一个submit按钮 加载页面后,我不希望根据规则验证这些日期文本框,但我希望确保JQuery Validator在单击按钮时对我有效 我必须在页面加载时启动验证,以确保启动其他规则,就像页面上存在的许多其他控件在页面加载后进行验证一样 有一种方法我想在点击按钮时添加规则,但似乎验证器很早就加载并钩住了它们,所以即使同一个对象被更新(使用附加规则)

我有这样的场景:

页面上有两个文本框(FromDate和ToDate),显示JQuery DatePicker onkeydown,在这些文本框下面有一个submit按钮

加载页面后,我不希望根据规则验证这些日期文本框,但我希望确保JQuery Validator在单击按钮时对我有效

我必须在页面加载时启动验证,以确保启动其他规则,就像页面上存在的许多其他控件在页面加载后进行验证一样

有一种方法我想在点击按钮时添加规则,但似乎验证器很早就加载并钩住了它们,所以即使同一个对象被更新(使用附加规则),它也不起作用


请告诉我怎么做?提前感谢。

为了处理这个场景,我从页面加载规则中删除了基于事件的规则。我动态添加/删除了规则。代码示例如下:

var Date1= {
        required: true,
        dateLesser: 'Date2',
        messages: {
            required: 'What ever',
            dateLesserThan: 'Date Should be less than'
        }
    };

addDateValidationRules: function (d) {
    if (d== 2) {
        $('#Date1').rules("add", Date1);
        $('#Date2').rules("add", Date2);
    }
    else {
        $('#Date1').rules("remove", "required");
        $('#Date1').rules("remove", "dateLesser");
        $('#Date2').rules("remove", "required");
        $('#Date2').rules("remove", "dateGreater");
    }
}
希望它能帮助别人


谢谢。

一个方法是在单击按钮时更改文本框的ID,以匹配验证器的规则。在页面加载时,由于id与规则不匹配,因此不会选中它们,然后在“单击”时选择文本框(例如,按类),并替换为匹配的id(例如,从id末尾删除“-temp”或类似内容)。