我有一個表單,它有一個輸入字段和三個複選框。根據選擇哪個複選框,該字段上的最大長度需要更改。我有這樣ng-maxlength爲什麼不重新評估?
<input placeholder="ID" type="text" id="form_ID" name="searchId" autofocus
data-ng-model="vm.searchCriteria.searchId" data-ng-required="vm.isSearchIdRequired"
data-ng-minlength="1" data-ng-maxlength="{{searchIdMaxLength}}"
data-ng-class="{'input-error': vm.isSearchIdValid}">
和一個複選框
<input type="checkbox" id="checkbox1" class="hidden-field"
data-ng-model="vm.searchCriteria.searchIdInSrId" data-ng-checked="vm.searchCriteria.searchIdInSrId"
data-ng-change="processSearchIdOptionsChange()">
所以每次用戶改變其複選框被選中/ processSearchIdOptionsChange
的被稱爲定義的輸入字段,並searchIdMaxLength
改變它的價值。這一切工作正常,我可以看到在$範圍內更改的值。但是,我最初的最大長度仍然在應用中。達到初始最大字符數後彈出以下錯誤消息。爲什麼?
<span class="error" data-ng-show="(searchForm.$dirty && searchForm.searchId.$error.maxlength)">Too long!</span>
這幾乎可行;在任何一種情況下,maxLengthValidator()都應該返回值,否則驗證錯誤信息不能正確地使用FORMA.COMPONENTNAME。$ error.minlength來報告。 –
@TimBoudreau:你的意思是maxlength? – epitka