更新:所以我将输入更改为 type =“text”并且 maxlength 工作正常,但用户仍然可以输入负数,并且能够输入不在最小和最大范围内的数字。
我需要验证类型编号的输入字段,使其最小值应为 1.1,最大值应为 8.1,并且只允许 1 个十进制值。我正在使用模板驱动的表单,但用户仍然能够输入大于 8.1 的值,小于 1.1 并且他能够输入多个小数位数(我需要帮助验证此逻辑)。我的要求是如果任何逻辑失败,不允许用户单击保存按钮。
为了在十进制要求之后只允许一个值,我尝试使用 maxlength 但它不起作用。
我尝试使用以下逻辑:
Component.html
<input type="number" min= "1.1" max ="8.1" #c="ngModel" [ngModel]= "myvaluefromcomponent | number:'1.1-1'" (ngModel)="myvaluefromcomponet=$event" />
<button type="button" id="save" [disabled] ="c.errors"> Save </button>
这不能正常工作。请指出我出错的地方并为此问题提出可行的解决方案。谢谢
1 回答
我遇到了 PatternValidator 指令,它解决了我的问题。我可以用这种方式在任何控件上使用该指令:
希望同样适用于寻找此类实现的其他用户