我正在开发一个注册表中的形式,我需要最大长度验证,但使用模板驱动的形式不能显示最大长度警报消息。
<input type="text" class="form-control" placeholder="Enter Name"maxlength="4"
name="name" [(ngModel)]="name" ngModel required #username="ngModel">
<div *ngIf="username.invalid && (username.dirty || username.touched)">
<p style="color:red;font-size:10px;" *ngIf='username.invalid.maxlength'>
You enter only 4 characters.
</p>
</div>
6条答案
按热度按时间dfty9e191#
试试看:
DEMO
dz6r00yl2#
对我来说,问题是
input type="number"
。一旦我删除了类型
number
maxLength工作。Angular 版本:8
j9per5c43#
用户名。无效将是用户名。错误?
mf98qq944#
因此需要执行几个步骤来验证您的输入,例如
请核对一下
?.prop被称为“安全导航操作符”
这意味着它避免了属性路径中的空值和未定义值的异常
0aydgbwb5#
就像你使用
maxlength
属性输入类型一样,它不允许用户输入超过这个长度的任何内容[正如我在Chrome中测试的]。因此,如果你想显示一个警告或错误消息,那么你可以检查输入的长度属性,并显示错误消息:
超文本:
从输入类型中删除
maxlength
并检查if
条件下的username.value?.length
WORKING DEMO
1bqhqjot6#
我只需要使用模板来验证长度,还需要它来使表单无效,下面是我使用
pattern
所做的工作这将计算在多行上。
希望这能帮助到一些人