我有一个ng-repeater,每行都有一个类型为checkbox的输入,以及3个文本字段。我想允许仅在用户在3个文本字段中的每个文本字段中输入一些文本时才选中复选框。如果用户尝试选择复选框而不先输入数据,我想显示一条警告消息。
我假设我必须检查三个ng模型(对于文本字段)是null还是未定义的东西,但不确定如何在HTML中进行。
我的HTML看起来像这样:
<div ng-repeat="o in objects">
<input type="checkbox" class="myClass" ng-click="doSomething(argument)>
....
....
<input ng-model="model1">
<input ng-model="model2">
<input ng-model="model3">
编辑:在AngularJS - Form Custom Validation - Check if at least one input is empty
找到答案答案 0 :(得分:1)
您可以停用它们并使用ng-change
来监控所有3个文本输入都有值。
示例html:
<input type="text" ng-model="data.item3" ng-change="update()"/>
<input type="checkbox" ng-model="data.model1" ng-disabled="checksDisabled"/>
示例控制器
.controller('MainCtrl',function($scope){
$scope.checksDisabled=true;
var data = $scope.data ={ };
$scope.update=function(){
$scope.checksDisabled = !(data.item1 && data.item2 && data.item3);
}
});
的 DEMO 强>