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

时间:2013-03-27 11:04:22

标签: knockout.js knockout-validation

让我说我有:

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

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

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

但没有运气。

我可以看到validation bindings提及验证消息,但它似乎是针对所有验证的单个消息。

custom validation rules似乎过度杀戮,因为我想要的只是一种模式,但却有不同的信息。

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

1 个答案:

答案 0 :(得分:12)

你的语法错了。您需要将对象分配给pattern属性,其中包含messageparams

所以正确的用法是:

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

也是Getting Started示例。