我遇到Angularjs $无效的问题

时间:2015-05-22 10:59:03

标签: javascript html angularjs twitter-bootstrap validation


你好,
在我的代码中,我按此顺序有三个输入数字(我将它们命名为第一个输入,第二个输入和第三个输入用于说明):

<div>
    <form name="formOpenMax">
        <div class="input-group" ng-class="{ 'has-error': formOpenMax.inputOpenMax.$dirty && formOpenMax.inputOpenMax.$invalid }">
            <span class="input-group-addon">Max</span>
            <input class="form-control has-feedback" name="inputOpenMax" type="number" placeholder="Maximum" ng-model="selectedItem.range.max" min="{{selectedItem.range.min}}" >
        </div>
    </form>
</div>


<div>
    <form name="formOpenMin">
        <div class="input-group" ng-class="{ 'has-error': formOpenMin.inputOpenMin.$dirty && formOpenMin.inputOpenMin.$invalid }">
            <span class="input-group-addon">Min</span>
            <input class="form-control has-feedback" name="inputOpenMin" type="number" placeholder="Minimum" ng-model="selectedItem.range.min" min="0" max="{{selectedItem.range.max}}" >
        </div>
    </form>
</div>


<div>
    <form name="formIntOpenDefault">
        <div class="input-group" ng-class="{ 'has-error': formIntOpenDefault.inputIntOpenDefault.$dirty && formIntOpenDefault.inputIntOpenDefault.$invalid }">
            <span class="input-group-addon">Default</span>
            <input class="form-control has-feedback" name="inputIntOpenDefault" type="number" placeholder="Default value" ng-model="selectedItem.range.default" min="{{selectedItem.range.min}}" max="{{selectedItem.range.max}}" >
        </div>
    </form>
</div>



所以我要做的就是进行适当的验证。第一个input是用户输入的两个值之间的范围 如果用户输入文本而不是数字,则input将变为红色。但是有一个问题:

⇨在第一个input中,min值是用户在第二个input中输入的数字,但验证不考虑它并且输入不变红了。

⇨在第二个input中,max值是用户在第一个input中输入的数字,但验证不考虑它,输入不是再次变红了。但是,min值为0,当我们提出例证-1时,验证工作正在发生<

⇨在第三个input中,min值是用户在第二个input中输入的数字,max数字是第一个输入的数字。再次验证不是workink。

对于每个输入,当我输入错误的数字时,验证不起作用,但工具提示似乎告诉我输入一个更大/更小的数字,以便它检测到该值,但该值无效。

您是否了解如何使其发挥作用?

1 个答案:

答案 0 :(得分:1)

看起来它与先前版本的Angular存在问题并在1.3.14中修复:

https://github.com/angular/angular.js/issues/2404