如何在 Knockout 中对输入字段执行内联验证

How to perform inline validation in Knockout on an input field

我想允许用户只输入正数和小于 100 的数字。 我如何修改此输入标记以获得所需的验证。

<input data-bind="value : $root.rootData.Page" class="form-control">

编辑:我知道我可以在 JS 中进行验证,但对于我的特殊情况,我只想在 makrup 中进行验证。

您可以使用模式属性将正则表达式与 HTML5 结合使用。

How can I validate number between 1 and 99 using regular expression? - 将为您提供一些有关检查数字是否介于 1 和 99 之间的不同方法的信息

根据您的示例,您可以使用以下内容

<input data-bind="value : $root.rootData.Page" class="form-control" pattern="^[1-9][0-9]?$">

与其使用正则表达式匹配数字字段,不如使用数字类型并提供 min/max?

<input type="number" min="1" max="99" step="1" data-bind="value : $root.rootData.Page" class="form-control" />

正则表达式可以与数字类型结合使用作为后备,因为 FF 缺乏对数字类型的支持:

<input type="number" min="1" max="99" step="1" pattern="^[1-9][0-9]?$" data-bind="value : $root.rootData.Page" class="form-control" />