Angular maxlength 属性阻止输入?

Sco*_*ott 5 angular

旧的 ng-maxlength="5" 用于引发字段错误,但将继续允许用户输入。maxlength="5" 似乎正在阻止输入。因为我的表单上有 novalidate ,所以这样做是有角度的吗?当我看到人们实际测试 error.maxlength 的例子时,是否应该阻止它?

这是我的表单片段:

<form #myForm="ngForm"  novalidate>

  <h2>{{ hero.name | uppercase }} Details</h2>
  <div><span>id: </span>{{hero.id}}</div>

    <input #inputElement name="heroName" class="form-control"  [(ngModel)]="hero.name" required maxlength="5" #heroName="ngModel">

</form>
Run Code Online (Sandbox Code Playgroud)

我们希望像 ng-maxlength 这样的行为,因为我们认为它对用户来说更清楚。也就是说,不是阻止输入,而是允许用户继续键入但显示错误。我是否做错了什么,或者我们是否需要创建自己的自定义验证指令来替换 maxlength?

vin*_*nce 4

您使用的属性是默认的HTMLmaxlength属性,它会阻止在达到最大字符数后进一步输入。如果您想允许进一步输入并跟踪它,您将需要按照您的建议使用自定义验证指令。