如何在ko验证中向模式验证添加自定义消息

Ale*_*ith 8 knockout.js knockout-validation

比方说我有:

self.UserName = ko.observable("").extend({ required: true }).extend({ pattern: '[\S]' });
Run Code Online (Sandbox Code Playgroud)

我正在尝试做类似的事情(我尝试了一些变化):

self.UserName = ko.observable("").extend({ required: true }).extend({ pattern: '[\S]', message : 'cannot contain spaces' });
Run Code Online (Sandbox Code Playgroud)

但没有运气.

我可以看到验证绑定提到验证消息,但它似乎是针对所有验证的单个消息.

并且自定义验证规则似乎过度杀戮,因为我想要的只是一个模式但具有不同的消息.

我错过了一些明显的东西吗

nem*_*esv 12

你的语法错了.您需要将一个对象分配给pattern包含message和的属性params

所以正确的用法是:

self.UserName = ko.observable("")
    .extend({ required: true })
    .extend({ pattern: {
         message: 'cannot contain spaces',
         params: '[\S]'
}});
Run Code Online (Sandbox Code Playgroud)

另请参阅入门示例.