我有一个包含大量输入的表单,只有一个验证(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)">
关于如何解决这个问题的任何想法?