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 に答える