如何使用角度验证输入数字长度
How to validate input number length with angular?
我想用角度验证一个 9 位数字,
这是我的模态:
<input type="number" class="form-control" ng-model="id" required>
我尝试了模式= [0-9]{9},似乎它传递了它得到的每个数字。我只想传递数字 000000000 - 9999999999,最小-最大也不适合我。
这是我的应用程序添加到此类的内容:
class="form-control ng-pristine ng-valid-number ng-invalid ng-invalid-required"
谢谢!
我只是使用pattern
作为验证器。以下代码将使字段required
,并且必须only digits
长度10
ngOnInit() {
this.firstForm = this.fb.group({
firstCtrl: ['', [Validators.pattern('^[0-9]{10}$'), Validators.required]],
});
您是否同时尝试过ngMinlength
和ngMaxlength
?
例:
<input type="text" ng-minlength=9 ng-maxlength=9 />
查看有关此的官方文档:https://docs.angularjs.org/api/ng/directive/input
关于表单验证的非常好的教程:http://www.ng-newsletter.com/posts/validations.html
正如Rahul Desai提到的,你必须使用ngMinlength和ngMaxlength。
但是由于你想使用数字,你必须将代码稍微改变一下
<input type="number" ng-model="id" ng-minlength=9 ng-maxlength=9 required />
老实说,我不知道如何处理class="form-control"
.也许您可以添加它或省略它?!
反正你也可以试试这个
<input type="number" ng-model="id" ng-pattern="/^[0-9]{1,9}$/" required />
您不再需要最小/最大属性。
编辑:
我想我在第二个上犯了一个错误。它应该是
ng-pattern="/^[0-9]{9}$/"
或
ng-pattern="/^[0-9]{9,9}$/"
使用响应式表单,您应该以这样的方式编写验证器:
formControlYourField: [
"",
Validators.compose([
Validators.required,
Validators.minLength(9),
Validators.maxLength(9),
Validators.pattern("^[0-9]*$"),
]),
]
当然还有你的.html
<input
matInput
required
formControlName="formControlYourField"
type="text"
placeholder="123456789"
/>
相关文章:
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 输入字段,只接受0到12之间的数字
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- angularjs在数字(html5)字段中将0转换为1
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 在粘贴事件Javascript的输入字段中删除所有非数字字符
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- 循环遍历数字和字母数组并仅提取数字
- 如何从动态输入字段添加数字
- 要检查的正则表达式数值字段没有 /或具有所有相同的数字
- 如何在javascript中获取隐藏字段的数字和
- OData:对url请求中的数字(ID)字段进行通配符(startswith)筛选
- 根据输入字段中键入的数字更改td单元格的颜色
- 如何使用鼠标或触摸更改数字输入字段
- 函数需要改进,应该返回一个_和一个数字(无论多么长)
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 使用javascript将两种数字格式相加以返回长数字
- 在用户键入消息时显示字数统计,并将字长限制为 300 个字
- 正则表达式限制星号 (*) 和数字的长度数