I am new to Knockout and I am encountering some problems when validating my form.
HTML
<input data-bind="value: naam" type="text" name="naam" id="naam" placeholder="Naam" required /> <input data-bind="value: email" type="email" name="email" id="email" placeholder="E-mail" required pattern="@" />
Knockout
var OrderInfo = function(){ var self = this; self.naam = ko.observable().extend({ required: "true", minLength: 6 }); self.email = ko.observable().extend({ required: "true", email: { message: "Gelieve een geldig e-mail adres op te geven.", params: true } }); };
Problems
1) When I Please enter at least 6 characters. less than 6 characters in "naam", I get the message Please enter at least 6 characters. . However, the valid class is valid element. The email input field receives the error class as it sees fit.
2) When I register whether OrderInfo is valid, I always get the true value, even if I get error messages;
self.OrderInfo = ko.validatedObservable(self.orderInfo); console.log("Valid: " + self.OrderInfo.isValid());
I configured ko.validation as follows:
ko.validation.configure({ errorElementClass: 'error', decorateInputElement: true, decorateElementOnModified: true, });
Why does this work for an email field, but not for other fields? (I just posted another field, but I have more, the same problem for everyone.) What am I doing wrong?
source share