输入元素上的Knockout验证错误类

ess*_*ker 6 javascript validation jquery knockout.js

我对Knockout很新,我在验证表单时遇到了一些问题.

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="@" />
Run Code Online (Sandbox Code Playgroud)

昏死

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 
       }
   });
};
Run Code Online (Sandbox Code Playgroud)

问题

1)当我在"naam"输入少于6个字符时,我收到消息Please enter at least 6 characters..然而,课程valid是给予元素的.电子邮件输入字段按原样获取错误类.
2)当我记录OrderInfo是否有效时,即使收到错误消息,我也总是如此;

self.OrderInfo = ko.validatedObservable(self.orderInfo);
console.log("Valid: " + self.OrderInfo.isValid());
Run Code Online (Sandbox Code Playgroud)

我已经像这样配置了ko.validation;

ko.validation.configure({
   errorElementClass: 'error',
   decorateInputElement: true,
   decorateElementOnModified: true,
});
Run Code Online (Sandbox Code Playgroud)

为什么这适用于电子邮件领域而不适用于其他领域?(我只发布了另外一个领域,但我得到了更多,同样的问题.)我做错了什么?

ess*_*ker 2

问题解决了。问题出在我的 HTML 中。在标记我的表格时,我不小心使用了同一个 ID 两次。

愚蠢的错误需要很长时间才能发现...感谢您的帮助!