ng-hide自动触发字段变为无效

时间:2014-09-26 23:06:56

标签: angularjs angularjs-directive

我有一个文本区域,我已经应用了角度的最大长度指令:

<textarea placeholder="Quote text here" ng-model="quote.text" ng-maxlength="400" name="text"></textarea>

现在我也通过使用有角度的ng-showng-hide指令显示字数:

<div class="row word-count">
   <h5>Word count :</h5>
   <h5 ng-show="quote.text.length > 0">{{quote.text.length}}</h5> 
   <h5 ng-hide="quote.text.length > 0" class="ng-hide">0</h5>
</div>

问题是,一旦字数超过max-length指令,ng-showng-hide就会自动触发为反转。有没有办法阻止它?

2 个答案:

答案 0 :(得分:1)

如何使用古老的HTML maxlength

<textarea placeholder="Quote text here" ng-model="quote.text." name="text" maxlength="400"></textarea>

<div class="row word-count">
    <h5>Word count :</h5>
    <h5 ng-show="quote.text.length > 0">{{ quote.text.length }}</h5> 
    <h5 ng-hide="quote.text.length > 0" class="ng-hide">0</h5>
</div>

我个人不理解ng-maxlength的必要性,因为它只是返回错误,但允许您继续输入!

答案 1 :(得分:0)

这是角度验证的预期行为。如果验证失败,则相应的模型将返回undefined。

您可以在Angular网站here上试用。

此外,如果您需要支持IE8 / IE9,here is an example of own maxlength directive