Тільки для тих, хто хоче отримати $setPristineбез необхідності оновлення до v1.1.x, ось функція, яку я використав для імітації $setPristineфункції. Я неохоче використовував v1.1.5, оскільки один із використаних мною компонентів AngularUI не сумісний.
var setPristine = function(form) {
if (form.$setPristine) {
form.$setPristine();
} else {
_.each(form, function (input) {
if (input.$dirty) {
input.$dirty = false;
}
});
}
};
Зверніть увагу, що це ТІЛЬКИ робить $dirtyполя чистими та допомагає змінити стан "показати помилку", наприклад $scope.myForm.myField.$dirty && $scope.myForm.myField.$invalid.
Інші частини об’єкта форми (наприклад, класи css) все ще потрібно розглянути, але це вирішує мою проблему: приховувати повідомлення про помилки.