简体   繁体   English

输入元素上的基因剔除验证错误类

[英]Knockout validation error class on input element

I'm fairly new to Knockout and I'm encountering some issues when validating my form. 我对Knockout相当陌生,在验证表单时遇到了一些问题。

HTML 的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 enter less than 6 chars at "naam", I get the message Please enter at least 6 characters. 1)当我在“ naam”输入少于6个字符时,我收到消息, Please enter at least 6 characters. . Yet the class valid is given to the element. 然而valid的类别valid赋予了元素。 The e-mail input field gets the error class as it should. 电子邮件输入字段将获取错误类别。
2) When I log whether OrderInfo is valid, I always get true, even though I get the error messages; 2)当我记录OrderInfo是否有效时,即使收到错误消息,我也始终为true;

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

I have configured ko.validation like this; 我已经像这样配置了ko.validation;

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

Why is this working for the e-mail field but not the other fields? 为什么这适用于电子邮件字段,而不适用于其他字段? (I've only posted 1 other field but I got more, same issue for all.) What am I doing wrong? (我只发布了1个其他字段,但我得到了更多,所有问题都相同。)我在做什么错?

Issue resolved. 问题解决了。 The problem was in my HTML. 问题出在我的HTML中。 When marking up my form I accidently used the same ID twice. 标记表单时,我不小心使用了相同的ID两次。

Stupid mistakes take the longest to find... Thanks for trying to help out! 愚蠢的错误花费的时间最长...感谢您的帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM