我正在尝试根据正则表达式使用 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/