所以我有一个输入和跨度是这样的:

<input type="password" name="account_password" placeholder="Enter your new password" autocomplete="off" ng-model="res.account.new_password" required="" ng-minlength="res.minlength" class="form-control" />
                        <span ng-show="(res.account.new_password).length == res.minlength" class="text-danger">Should be at least 6 characters long</span><br>


在角度控制器中,我有一个变量:vm.minlength = 6;
ng-minlength指令有效,但我也尝试为用户显示错误消息:

<span ng-show="(res.account.new_password).length == res.minlength" class="text-danger">Should be at least 6 characters long</span><br>


但这是行不通的。在输入第一个字母后,错误消息消失。

如果您想知道的话,res是我的控制器的别名(我正在使用vm在我的角度控制器中声明变量)。欢迎任何帮助!感谢您的时间!

==跟踪到<之后,跨度根本不会显示!

最佳答案

实际上,仅当您的密码恰好是6个字符而不是6个字符或更少时,才会显示警报。

如果您需要最小长度,那么我认为您应该将条件从==更改为<

<span ng-show="(res.account.new_password).length < res.minlength" class="text-danger">Should be at least 6 characters long</span><br>


这是demo Fiddle



PS:在您的控制器中定义了vm.minlength,我想应该是res.minlength

10-02 12:57