如何使用<md-autocomplete>限制输入字段长度(最大长度)

时间:2016-05-14 17:36:47

标签: angularjs md-autocomplete

我想实现限制/限制用户仅限10个数字的行为:

任何人都知道如何做到这一点?

我确实看到他们有一个属性md-input-maxlength,但我无法让它工作,或找到一个例子。

感谢您的投入。

5 个答案:

答案 0 :(得分:1)

我认为目前没有一种简单的方法可以做到这一点。但是,作为一个hacky变通方法,您可以使用md-search-text-change,只要值大于X,您就可以使用值的前X个字符覆盖它。

示例笔here

请注意,将文本更改为其子字符串将导致另一次调用文本更改事件。

答案 1 :(得分:1)

结合'md-maxlength'和'maxlength' 例如。 input type =“text”md-maxlength =“512”maxlength =“512”

答案 2 :(得分:1)

这是工作代码:

    <md-autocomplete flex=""
                       required
                       ng-init="searchText=''"
                       md-input-name="autocompleteAddField"
                       md-input-minlength="2"
                       md-input-maxlength="10"
                       md-no-cache="true"
                       md-selected-item="newE.add"
                       md-search-text="searchText"
                       md-items="item in vm.queryAddressSearch(searchText)"
                       md-item-text="item.address"
                       md-require-match=""
                       md-floating-label="Address">
        <md-item-template>
          <span md-highlight-text="searchText">{{item.address}}</span>
        </md-item-template>
        <div ng-messages="newEntityForm.autocompleteAddField.$error" ng-if="newEntityForm.autocompleteAddField.$touched">
          <div ng-message="required">You <b>must</b> have a user address.</div>
          <div ng-message="md-require-match">Please select an existing address.</div>
          <div ng-message="minlength">Your entry is not long enough.</div>
          <div ng-message="maxlength">Your entry is too long.</div>
        </div>
      </md-autocomplete>

答案 3 :(得分:0)

您可以使用 ng-maxlength =“10”。这是一个例子。如果用户输入的字符超过10个,则表单无效。你可以看一下。

<form name="form">
  <input type="text" ng-model="model" id="input" name="input" ng-maxlength="10" />
  <hr>
  input valid? = <code>{{form.input.$valid}}</code><br>
  model = <code>{{model}}</code>
</form>

答案 4 :(得分:0)

从约翰史密斯的回答中延伸出来,你可以试试

md-search-text-change="searchText = searchText.substring(0,10)"