8

假设我有:

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

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

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

但没有运气。

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

而且自定义验证规则似乎已经过时了,因为我想要的只是一种模式,但带有不同的信息。

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

4

1 回答 1

12

你的语法是错误的。您需要将一个对象分配给pattern包含messageparams

所以正确的用法是:

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

另请参阅入门示例。

于 2013-03-27T11:23:56.340 回答