【发布时间】:2020-06-14 12:10:38
【问题描述】:
我有一个使用响应式表单的 Angular 应用程序。我的输入字段之一是数字类型,我使用 step 指令来确定有效值,如下所示:
steps = 0.25
myForm: FormGroup
constructor(private fb: FormBuilder) {
myForm = this.fb.group({
numberControl: new FormControl(null)
});
<input type="number" step="{{steps}}" formControlName="numberControl">
可以根据应用程序的其他输入来更改 step 属性,但为简单起见,我没有将其包含在此示例中。我的问题是表单始终有效。当我使用输入字段的向上和向下箭头键时,该步骤有效,但我可以手动输入任何值,它仍然有效。
Stackblitz 示例:https://stackblitz.com/edit/angular-rhyeeb
感谢任何帮助!
【问题讨论】:
-
您的意思是数字输入字段只能通过步进箭头控制,而不是通过键盘控制。我说的对吗?
-
不,如果我手动输入一个无效步骤的值,我希望表单无效。所以在我的例子中像 0.26
-
您应该为您的输入字段创建一个自定义验证器。您可以在 google 中找到大量关于此的文章。
标签: angular validation input angular-reactive-forms