angular - 仅在存在值时验证角度表单字段中的最小数字
问题描述
我正在编写一个带有角度材料和表单的 Angular 8 Web 应用程序。
我创建了一个FormGroup
withFormBuilder
并向字段添加了验证。
我有一个字段Validators.min(0)
。问题是这个字段不是强制性的,所以我想验证该值是否最小为零,只有当有一个值开始时。
我如何做到这一点?
啊..好的,这就是我构建表单的方式
this.queryForm = this.formBuilder.group({
...
durationLongerThenInSec: ['', Validators.min(0)],
});
}
谢谢!
解决方案
由于您没有Validators.required
所需的验证,因此不会将其应用于您的表单控件。您应该尝试添加Validators.min(0)
到表单控件,它将验证它是否脏并满足最小值规则:
this.queryForm = this.formBuilder.group({
...
durationLongerThenInSec: ['', [Validators.min(0)]],
});
}
还要确保您在模板上显示错误以处理并在durationLongerThenInSec.errors.min
可用时显示错误消息:
<p *ngIf="durationLongerThenInSec.errors?.min">error message</p>
推荐阅读
- ios - 方法'requestAuthorization:'未在插件'PhotoLibrary'离子4中定义
- python - 两列的冻结集并集
- java - Closeable 和 AutoCloseable close() 方法的执行顺序
- html - 点不显示
- regex - 忽略java文件中的注释范围
- python - django 中 {{ 和 {% 的用法?
- javascript - [Vue 警告]:无法生成渲染函数:SyntaxError: missing ) after argument list
- c# - 具有功能的天蓝色表存储中的多个查询参数
- google-cloud-platform - 如何过滤 GCP CDN 的入站流量?
- angular - 如何在angular2中使用$compile