【问题标题】:How to add $watch for form validation inside AngularJS class如何在 AngularJS 类中添加 $watch 以进行表单验证
【发布时间】:2021-11-15 04:16:58
【问题描述】:

我尝试添加一个 $watch 来检查表单是否有效。

// testCtrl.html

 ....
             <div class="row" ng-form="testCtrl.testForm">
                            ...
                      <div class="form-group">
                        <label>NAME</label>
                        <input
                            class="form-control"
                            id="name"
                            type="text"
                            ng-model="testCtrl.testEdit.displayName"
                            autofocus
                            required />
                      </div>
    ...

// testCtrl.js

 ...
    class TestController {
        constructor($scope,
                    ...
                    ) {
    ...
        }
    ...
    
    canSaveTest() {
        return this.testForm.$valid;
    }

...

我想这样添加一个观察者:

$scope.$watch('testForm.$invalid', function(isInvalid)          {
        $scope.disableNextBtn = isInvalid;
});

但我不确定我需要在代码的哪一部分添加这个观察者。

【问题讨论】:

    标签: javascript angularjs forms validation angularjs-scope


    【解决方案1】:

    我刚刚为 ng-change 添加了 validateData:

    // testCtrl.html ...

                       <input
                            class="form-control"
                            id="name"
                            type="text"
                            ng-model="testtCtrl.testEdit.displayName"
                            ng-change="testCtrl.validateData()"
                            autofocus
                            required
                        />
    

    // testCtrl.js

    validateData() {
                this.disableNextBtn = !this.testForm.$valid;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2023-03-15
      • 2018-05-11
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多