【问题标题】:Angular maxlength attribute is preventing input?Angular maxlength 属性阻止输入?
【发布时间】:2018-01-16 19:28:23
【问题描述】:

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

这是我的表格 sn-p:

<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>

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

【问题讨论】:

  • 您可以考虑自定义指令,该指令将调用自定义Validator 来验证输入字段的长度,请查看this blog

标签: angular


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多