AngularJs在使用ng-model时将输入设置为ng-invalid ng-invalid-required

时间:2015-04-16 11:30:59

标签: javascript html angularjs validation

我有一个包含大量输入的表单,只有一个验证(required)。我有.form-control.ng-dirty.ng-invalid-required的css规则将文本设置为红色。当页面加载时,一切都很好,因为它们具有ng-pristine类,并且这些输入的所有ng-model都被设置为相应的输入值,但是偶尔(不是100%的时间)那些输入从一开始就获得ng-invalid ng-invalid-required类。当我开始输入时,输入变为红色,因为它获得了附加到ng-dirty的类ng-invalid。我无法理解为什么当整个表单获得$valid true时,AngularJS将我的输入视为无效。输入变为有效的唯一方法是删除整个字符串并开始再次输入。

当我开始输入时,我的输入看起来像这样:

<input type="text" class="form-control ng-pristine ng-invalid ng-invalid-required ng-valid-required ng-touched" ng-model="textEn" required="" ondrop="drop(event)" ondragover="allowDrop(event)">

在模板上看起来像:

<input type="text" class="form-control" ng-model="textEn" required ondrop="drop(event)" ondragover="allowDrop(event)">

关于如何解决这个问题的任何想法?

0 个答案:

没有答案