如何在AngularJS中提交表单后重置验证?

时间:2017-02-02 13:15:23

标签: angularjs

我有一个输入字段:

<input type="text" name="title" ng-model="genreData.title" class="form-control"
        ng-class="{'error': addGenreForm.title.$invalid && !addGenreForm.title.$pristine}"
       placeholder="Genre name" ng-minlength="minlength" required autofocus>

当我成功提交表单时,此输入后会得到class="error"

$scope.genreData = {};

我该如何解决?

2 个答案:

答案 0 :(得分:1)

您必须在ng-submit函数中注入表单,然后调用函数$setPristine()内置的表单控件。

e.g。

查看:

<form name="myForm" ng-submit="submitForm(myForm)">
   <!--Input Fields-->
</form>

控制器:

$scope.submitForm = function(form) {
   //Do what ever I have to do
   //Then reset form
   form.$setPristine();
}

答案 1 :(得分:0)

我认为设置

$scope.addGenreForm.$setPristine() and $scope.addGenreForm.$setUntouched

在提交表单后可以正常工作

如果您还有任何问题,请分享一些吸毒者,以便我可以提供更多帮助