Let's say I have:
self.UserName = ko.observable("").extend({ required: true }).extend({ pattern: '[\S]' });
I'm trying to do something like (I've tried a few variations):
self.UserName = ko.observable("").extend({ required: true }).extend({ pattern: '[\S]', message : 'cannot contain spaces' });
But no luck.
I can see validation bindings mentions validation messages, but it appears to be for a single message for all validation.
And custom validation rules seems over kill, as all I want is a pattern but with a different message.
Am I missing something obvious?
Your syntax is wrong. You need to assign an object to the pattern
property which contains the message
and the params
So the correct usage is:
self.UserName = ko.observable("")
.extend({ required: true })
.extend({ pattern: {
message: 'cannot contain spaces',
params: '[\S]'
}});
Se also the Getting Started example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With