在表单元素上使用maxlength
属性不仅可以连接Angular的内置验证,还可以防止超出指定长度的输入进入文本框。这是否意味着显示错误消息以打破maxlength
验证是没有意义的,因为浏览器已经强制执行限制?在下面的示例中,似乎第二条错误消息似乎永远不会出现。
<input class="form-control" #fName="ngModel" required maxlength="25" />
<div class="form-error-wrapper" *ngIf="fName.invalid && (fName.dirty || fName.touched)">
<div *ngIf="fName.hasError('required')" class="form-error">
First name is required
</div>
<div *ngIf="fName.hasError('maxlength')" class="form-error">
First name cannot be longer than 25 characters.
</div>
</div>
如果浏览器没有让他们在第一时间打破规则,那么让用户知道他们违反了规则是什么意思?
答案 0 :(得分:1)
你是对的。如果要进行最大长度验证,则不应实现html maxlength属性。否则,用户永远不会违反该规则,因此错误消息将永远不会显示。仅在未设置max length属性的情况下才会使用该错误消息。无论哪种方式都没关系。这取决于偏好。