重置表单时,ng-messages不会重置

时间:2016-10-09 13:23:36

标签: angularjs ng-messages

当我尝试重置时,我的表单出现了一个很大的问题,除了ng消息之外,所有内容都被重置。我尝试了一切但没有任何效果。我不知道为什么

这是我的表格:

<md-content layout-padding>
   <form name="projectForm">
      <div layout="row">
         <md-input-container flex="50">
            <label>Name</label>
            <input required name="clientName" ng-model="project.clientName" ng-focus="">
         </md-input-container>
         <md-input-container flex="50">
            <label>Email</label>
            <input required type="email" name="clientEmail" ng-model="newEmployee.email"
               minlength="10" maxlength="100" ng-pattern="/^.+@.+\..+$/" />
            <div ng-messages="projectForm.clientEmail.$error" role="alert" ng-show="message">
               <div ng-message-exp="['required', 'minlength', 'maxlength', 'pattern']">
                  Your email must be between 10 and 100 characters long and look like an e-mail address.
               </div>
            </div>
         </md-input-container>
      </div>
      <div layout="row">
         <md-input-container flex="50">
            <label>Mobile</label>
            <input required name="clientName" ng-model="newEmployee.mobile">
            <div ng-messages="projectForm.clientName.$error" ng-show="message">
               <div ng-message="required">This is required.</div>
            </div>
         </md-input-container>
         <md-input-container flex="50">
            <label>Address</label>
            <input required name="clientName" ng-model="newEmployee.address">
            <div ng-messages="projectForm.clientName.$error" ng-show="message">
               <div ng-message="required">This is required.</div>
            </div>
         </md-input-container>
      </div>
      <md-input-container class="md-block">
         <label>Description</label>
         <input md-maxlength="30" required md-no-asterisk name="description" ng-model="newEmployee.description">
         <div ng-messages="projectForm.description.$error">
            <div ng-message="required">This is required.</div>
            <div ng-message="md-maxlength">The description must be less than 30 characters long.</div>
         </div>
      </md-input-container>
      <div>
         <md-button type="submit" class="md-raised md-primary">Submit</md-button>
         <md-button ng-click="cancel()">Cancel</md-button>
      </div>
   </form>
</md-content>

这是我在控制器中的重置功能

$scope.reset = function() {
    $scope.projectForm.$setPristine();
    $scope.projectForm.$setValidity();
    $scope.projectForm.$setUntouched();
}

0 个答案:

没有答案