使用敲除验证怎么做我确切地验证5位数并接受空输入

时间:2013-06-14 02:31:14

标签: knockout.js knockout-validation

我使用了淘汰验证插件,并遇到了这种情况的问题

必需是假的 但如果有输入 - 必须正好是5位

    var fileno = ko.observable()
        .extend({ pattern: {
             message: 'not exactly 5',
             params: '/\b\d{5}\b/g'
        }});

有人能在这看到这个问题吗?

干杯!

1 个答案:

答案 0 :(得分:2)

验证插件在内部使用string.match方法,需要regex object,如果传入字符串,则会将其转换为new RegExp(obj)的RegExp对象,但在这种情况下,您无法使用像g

这样的标志

因此,您需要将已创建的正则表达式对象作为params

传递
var fileno = ko.observable()
    .extend({ pattern: {
         message: 'not exactly 5',
         params: /\b\d{5}\b/g // or using new RegExp('\\b\\d{5}\\b', 'g')
    }});

演示JSFiddle.