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

How to perform inline validation in Knockout on an input field

本文关键字:执行 字段 验证 输入 Knockout      更新时间:2023-09-26

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

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

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

您可以使用pattern属性在HTML5中使用正则表达式。

如何使用正则表达式验证1和99之间的数字?-将为您提供一些关于检查数字是否在1到99 之间的不同方法的信息

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

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

与其使用regex来匹配数字字段,为什么不直接使用数字类型并提供min/max?

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

Regex可以与数字类型组合使用作为后备,因为FF缺乏对数字类型的支持:

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