2013-03-27 58 views
7

比方说,我有:如何添加自定义消息,在KO验证模式验证

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似乎过度杀人,因为我想要的只是一种模式,但带有不同的信息。

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

回答

11

你的语法错了。您需要将对象分配到包含messageparams

所以,正确的用法是pattern属性:

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

硒也是Getting Started例子。

+0

臭虫,不敢相信我错过了!谢谢, – 2013-03-27 11:37:56

+0

感谢您发布此 – 2013-07-17 20:10:42