似乎KO驗證插件將字符串解析爲HTML5數字輸入屬性(例如,min,max),而不是數字。這導致數字輸入在具有最小/最大屬性時被錯誤地確定爲無效。參見:http://jsfiddle.net/hTvsj/。敲除驗證:將HTML5最小/最大值解析爲字符串
HTML:
<label>Some number, valid between 0 and 10</label>
<input type="number" required min="0" max="10" data-bind="value: someNum"/>
JS:
function vm(){
self=this;
self.someNum=ko.observable("5");
}
ko.validation.configure({
parseInputAttributes: true,
});
ko.applyBindings(ko.validatedObservable(new vm()));
是的,這看起來正是發生了什麼。這是導致麻煩的一行:'params:element.getAttribute(attr)|| TRUE'。如果您只將最大/最小值設置爲字符串,則可以重新創建相同的問題。這看起來像是我在KO驗證中的一個錯誤。 –