2013-03-27 7 views
7

Diciamo che ho:Come aggiungere un messaggio personalizzato per una validazione modello in validazione ko

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

sto cercando di fare qualcosa di simile (ho provato alcune variazioni):

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

Ma senza fortuna.

Posso vedere validation bindings menziona messaggi di convalida, ma sembra essere per un singolo messaggio per tutta la convalida.

E custom validation rules sembra sopra uccidere, come tutto quello che voglio è un modello ma con un messaggio diverso.

Mi manca qualcosa di ovvio?

risposta

11

La sintassi è errata. È necessario assegnare un oggetto alla proprietà pattern che contiene il message e la params

Quindi l'uso corretto è:

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

Se anche l'esempio Getting Started.

+0

Bugger, non posso credere di averlo perso! Grazie, –

+0

Grazie per aver postato questo –