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



我正在尝试根据正则表达式使用 jQuery.validate(( 插件验证字段。Ik 需要验证答案是否看起来像"999.12"的"468.47"或"123.45"。所以[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
  • 附加方法.min.js
  • 图案.js

也许正则表达式有问题?

谢谢大家!

一旦调用.validate()并初始化插件,如果不使用 .rules() 方法,您将无法动态更改规则。

像这样的东西...

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

演示:jsfiddle.net/zp4vfxLb/

相关内容

  • 没有找到相关文章

最新更新