繁体   English   中英

我可以重构Angular JS验证条件以简化代码吗?

[英]Can I re-factor Angular JS validation conditionals to streamline code?

下面的代码是我表单的一行。

我在整个代码段中多次复制了“ AddCarForm.uCarName。$ dirty && AddCarForm.uCarName。$ invalid”。 我可以将其重构为一个变量,随着用户输入的更改/更好的重构方式,该变量将根据条件的答案进行更新?

 <div class="form-group required " ng-class="{'has-error': AddCarForm.uCarName.$dirty && AddCarForm.uCarName.$invalid}"> <label class=" control-label col-lg-5 " for="uCarName">Name:</label> <div class="col-lg-7 "> <input type="text" ng-model="carDetails.carName" name="uCarName" class="form-control" required /> </div> <div class="row"> <div ng-show="AddCarForm.uCarName.$dirty && AddCarForm.uCarName.$invalid" class="error-msg col-lg-offset-5 col-lg-7"> <span ng-show="AddCarForm.uCarName.$error.required"> Car Name required </span> </div> </div> </div> 

在您的控制器上,使该表达式从函数返回,即:

$scope.shouldShow = function() {
      return $scope.AddCarForm.uCarName.$dirty && $scope.AddCarForm.uCarName.$invalid;
}

然后执行:

ng-show="shouldShow();"

只需确保表单实际上在范围内即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM