forms - form - pristine angularjs
AngularJs envía formulario y restablece $ estado prístino (2)
Tomado este formulario como ejemplo http://plnkr.co/edit/fHEBw6dDdG3IVgnmCLb7?p=preview
¿Cómo puedo poner el estado $pristine
del formulario en verdadero después de presionar el botón SAVE DRAFT
?
Puede llamar a $setPristine
en el form
: http://plnkr.co/edit/wXaFXtuhNH6d4SP2uArm?p=preview
<button ng-click="reset(); form.$setPristine()">RESET</button>
<button ng-click="update(user); form.$setPristine()">SAVE</button>
O puede llamar al método en su controlador (después de asegurarse de que el formulario exista):
$scope.update = function(user) {
$scope.master= angular.copy(user);
if ($scope.form) $scope.form.$setPristine();
};
$scope.reset = function() {
$scope.user = angular.copy($scope.master);
if ($scope.form) $scope.form.$setPristine();
};
Demostración: http://plnkr.co/edit/Mau7uuDfPlzcn418OdWh?p=preview
Me he dado cuenta de que el reset()
no borrará la entrada del correo electrónico a menos que sea válido. He intentado otro enfoque en su lugar:
<button type="reset" ng-click="form.$setPristine()">RESET</button>
<button ng-click="update(user); form.$setPristine()">SAVE</button>