我有一个角度的形式.这些字段使用ng-pattern属性进行验证.我也有一个重置按钮.我正在使用
Ui.Utils Event Binder来处理重置事件,如下所示:
Area Code
The area code must be three digits
Phone Number
The phone number must be seven digits
Reset
Search
正如你所看到的,当表单被重置时,它调用$scope上的reset方法.以下是整个控制器的外观:
angular.module('app').controller('mainController',function($scope) {
$scope.resetCount = 0;
$scope.reset = function(form) {
form.$setPristine();
form.$setUntouched();
$scope.resetCount++;
};
$scope.search = function() {
alert('Searching');
};
});
我正在调用form $setPristine()和form.$setUntouched,遵循从another question这里的Stack Overflow的建议.我添加计数器的唯一原因是证明代码正在被调用(它是).
问题是,即使在重置表单之后,验证消息也不会消失.您可以在Plunker看到完整的代码.这是一个截图,显示错误不会消失: