validation - knockout 验证 : HTML5 min/max parsed as string

标签 validation knockout.js

看来 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()));

最佳答案

这是 knockout 验证中的一个错误。已修复 pull request 355并发布 version 2.0.0 .

请注意,要使其正常工作,可观察值中的值需要存储为数字,而不是字符串。您可以使用数字扩展器(位于 http://knockoutjs.com/documentation/extenders.html )强制将键入的值存储为数字而不是字符串。

关于validation - knockout 验证 : HTML5 min/max parsed as string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066346/

相关文章:

python - 当我使用 QtGui.QIntValidator() 时,它将文本的最大长度设置为 10 个整数?

asp.net-mvc-3 - 如何实现 MVC3 模型 URL 验证?

javascript - Excel 文件通过 POST 下载 C#(避免 404.15 查询字符串错误)

html - 如何使用 JSON 定义创建 html 表单?

Angular 8 : Reactive Form match password

node.js - Webpack 输出中的 Mimetype 错误(使用 knockout )

javascript - 使用 jquery 插件 autoresize() 在 foreach 中 knockout .js 文本区域

javascript - 带 CSS 动画的 Knockout 输入验证

mvvm - knockout.js 真的采用 MVVM 模式吗?

java - 未调用自定义注释