首页 文章

验证角度 5 输入字段

提问于
浏览
1

更新:所以我将输入更改为 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 回答

  • 3

    我遇到了 PatternValidator 指令,它解决了我的问题。我可以用这种方式在任何控件上使用该指令:

    <input type="number" min= "1.1" max ="8.1" #c="ngModel" [pattern]="myPattern" [ngModel]= "myvaluefromcomponent"/>
    
    <button type="button" id="save" [disabled] ="c.errors?.pattern"> Save </button>
    

    希望同样适用于寻找此类实现的其他用户

相关问题