AngularJS - 使用$ valid进行动态验证

时间:2017-09-01 20:02:44

标签: javascript angularjs forms validation

我正在使用AngularJS验证表单,我有这个按钮提交。

<button type="submit" ng-disabled="btn" ng-click="submit(settings.$valid)"
        class="btn btn-primary">
  Submit
</button>

只要表单无效,此按钮就会被禁用,但一旦有效,该按钮就会启用。

所以这是我的代码

$http.get("http://localhost:5000/settings").then(function(response){
    $scope.numberOfRows = response.data.numberOfRows
    console.log($scope.numberOfRows)
    if($scope.numberOfRows==0 && $scope.settings.$valid == false ){
        $scope.btn=true
    }else if($scope.numberOfRows==0 && $scope.settings.$valid == true){
        $scope.btn=false
    }

    if($scope.numberOfRows==1){
        $scope.btn=true
    }

})

我的问题是当 numberOfRows = 0且表单无效时,我无法提交我想要的表单。

但是,当我填写表单并且有效时,就会发生这种情况。

你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

$http.get("http://localhost:5000/settings").then(function(response){
    $scope.hasRow= response.data.numberOfRows>0;
    $scope.settings.$valid=$scope.hasRow;
})

并将此代码添加到您的html

 <button type="submit" ng-disabled="!settings.$valid" ng-click="submit()"
        class="btn btn-primary">
  Submit
</button>