javascript - 输入元素上的 knockout validation 错误类

标签 javascript jquery validation 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="@" />

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 
       }
   });
};

问题

1) 当我在“naam”处输入少于 6 个字符时,我收到消息 Please enter at least 6 characters.。然而 valid 类被赋予了元素。电子邮件输入字段会获得应有的错误类别。
2) 当我记录 OrderInfo 是否有效时,我总是得到 true,即使我收到错误消息;

self.OrderInfo = ko.validatedObservable(self.orderInfo);
console.log("Valid: " + self.OrderInfo.isValid());

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

ko.validation.configure({
   errorElementClass: 'error',
   decorateInputElement: true,
   decorateElementOnModified: true,
});

为什么这适用于电子邮件字段而不适用于其他字段? (我只发布了 1 个其他字段,但我得到了更多,所有人都遇到了同样的问题。)我做错了什么?

最佳答案

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

愚蠢的错误需要最长的时间才能找到...感谢您的帮助!

关于javascript - 输入元素上的 knockout validation 错误类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507003/

相关文章:

JavaScript 编程 : de facto open source?

javascript - jQuery 与 Joomla YooTheme WidgetKit 冲突

javascript - 当jquery将变量插入该字段时,如何检查输入字段是否为空?

javascript - 验证以逗号分隔的多个美国邮政编码

php - SQL 查询验证 - 不是每次都测试

javascript - 中间显示 "x"的神秘非常小的矩形框,但无法位于 DOM 上的任何位置

javascript - 切换 JavaScript 代码在 IE11 中不起作用

javascript - 如何确定哪个 DOM 元素与 Knockout 可观察数组元素相对应?

javascript - 有没有办法用CSS改变div边框的文字颜色?也许棘手!

JavaScript 正则表达式,带星号的字母数字