如何创建正则表达式动态设置jQuery验证模式选项

时间:2017-06-12 14:26:58

标签: jquery regex jquery-validate

我正在尝试根据正则表达式使用jQuery.validate() plugin验证字段。我需要验证答案是否为“468.47”或“123.45”的“999.12”。所以 [3位] [点] [2位]

我在if语句中动态设置.validate() - 选项,如下所示:

if (true) {

    $('#registerForm').validate().settings.rules.ssn.pattern = '[0-9]{3}.[0-9]{2}$';
}
else {

    $('#registerForm').validate().settings.rules.ssn.pattern = '';
}

当我进入.i.e。 123.45它没有验证。即使我尝试

也没有
$('#registerForm').validate().element('#registerPassP');

在控制台中。

我包含了所有这些js脚本:

  • jquery.validate.min.js
  • 附加methods.min.js
  • pattern.js

正则表达式可能有问题吗?

全部谢谢!

1 个答案:

答案 0 :(得分:0)

调用.validate()并且插件初始化后,您cannot dynamically change the rules不使用the .rules() method

像这样......

if (true) {
    $('[name="ssn"]').rules('add', {
        required: true
    });
}
else {
    $('[name="ssn"]').rules('add', {
        required: false
    });
}

DEMO:jsfiddle.net/zp4vfxLb/

相关问题