【发布时间】:2013-04-10 14:06:12
【问题描述】:
似乎 KO 验证插件将 HTML5 数字输入属性(例如,最小值、最大值)解析为字符串,而不是数字。这导致当数字输入具有最小/最大属性时,它们被错误地确定为无效。请参阅:http://jsfiddle.net/hTvsj/。
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。如果您只是将 max/min 设置为字符串,则可以重新创建相同的问题。对我来说,这似乎是 KO 验证中的一个错误。