angular - 角度形式验证`min`不起作用
问题描述
我正在阅读https://angular.io/guide/forms。
我的代码:
<!-- Min price -->
<div class="form-group">
<label for="minprice">Min price</label>
<input type="number"
min="0"
class="form-control" id="minprice"
required
[(ngModel)]="model.minprice" name="minprice"
#minprice="ngModel">
<div [hidden]="minprice.valid"
class="alert alert-danger">
Min price is required
</div>
</div>
<!-- Max price -->
<div class="form-group">
<label for="maxprice">Min price</label>
<input type="number" class="form-control" id="maxprice"
required
min="0"
[(ngModel)]="model.maxprice" name="maxprice"
#maxprice="ngModel">
<div [hidden]="maxprice.valid"
class="alert alert-danger">
Max price is required
</div>
</div>
我有两个问题:
1,min="0"
好像不行。当我输入时-1
,没有显示错误消息。
2,如何验证minprice
小于maxprice
?
欢迎任何提示。谢谢
解决方案
当您使用type="number"
输入控件填充向上/向下箭头以增加/减少数值时,因此当您使用这些按钮更新文本框值时,它不会超过最大限制,但是当您手动输入时,它不会验证最大限制,所以您必须通过代码验证它。
如果我正在使用,我会这样做FormControlModule
:
<input type="number" min="0" max="100" name="MyInput" [formControl]="myInput">
然后在我的组件类中:
this.myInput = new FormControl("", [Validators.max(100), Validators.min(0)])
然后,如果您登录myInput
,您将在对象中看到一个错误键,然后您可以使用它来显示和隐藏错误消息容器。
推荐阅读
- c# - 如何在哈希表中添加范围?
- gcc - 用于 MAJIQ 管道安装的 Clang 编译器和 gcc 问题
- nginx - ngx_http_script_compile 与 ngx_http_compile_complex_value
- php - 在 PHP 中使用存储在数据库中的 MySQL 查询
- c# - 如何在 .NetCore 项目中为本地开发设置 Papercut SMTP 服务器
- javascript - 组合两个点击函数的方法,当一个点击函数有一个窗口大小的if语句时
- applescript - Applescript 等到模态消失
- sql - 根据 SQL Server 中的条件返回前 1 条记录
- html - 当某些行有表情符号而某些行没有时,如何使表格中的行垂直对齐?
- excel - 通过 VBA 将 Crystal Report 导出为 pdf