我对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="@" />
敲除
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)当我在&#34; naam&#34;输入少于6个字符时,我收到消息Please enter at least 6 characters.
。然而,类valid
被赋予元素。电子邮件输入字段可以获得错误类。
2)当我记录OrderInfo是否有效时,即使收到错误消息,我也总是如此;
self.OrderInfo = ko.validatedObservable(self.orderInfo);
console.log("Valid: " + self.OrderInfo.isValid());
我已经像这样配置了ko.validation;
ko.validation.configure({
errorElementClass: 'error',
decorateInputElement: true,
decorateElementOnModified: true,
});
为什么这适用于电子邮件字段而不适用于其他字段? (我只发布了另外一个领域,但我得到了更多,同样的问题。)我做错了什么?
答案 0 :(得分:2)
问题已解决。问题出在我的HTML中。在标记我的表单时,我意外地使用了相同的ID两次。
愚蠢的错误需要花费最长的时间才能找到...感谢您的帮助!