我想实现将用户输入限制/限制为仅 10 个数字的行为,例如:
有人知道怎么做吗?
我确实看到他们有一个属性 md-input-maxlength,但我无法让它工作,或者找到一个例子。
感谢您的投入。
我想实现将用户输入限制/限制为仅 10 个数字的行为,例如:
有人知道怎么做吗?
我确实看到他们有一个属性 md-input-maxlength,但我无法让它工作,或者找到一个例子。
感谢您的投入。
从约翰史密斯的答案扩展,你可以试试
md-search-text-change="searchText = searchText.substring(0,10)"
我认为目前没有一种简单的方法可以做到这一点。但是,作为一种 hacky 解决方法,您可以使用md-search-text-change
并且只要该值比 X 长,您就可以用该值的前 X 个字符覆盖它。
示例笔在这里
但请记住,将文本更改为它的子字符串将导致再次调用文本更改事件。
这是工作代码:
<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>
结合 'md-maxlength' 和 'maxlength' 例如。输入类型="文本" md-maxlength="512" maxlength="512"
您可以使用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>