Knockout check error class on input element

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?

+6
source share
1 answer

The problem is resolved. The problem was in my HTML. When marking my form, I accidentally used the same identifier twice.

Stupid mistakes take the longest place ... Thanks for trying to help!

+2
source

Source: https://habr.com/ru/post/974372/


All Articles