如何使用angular来实现复选框组所需的验证?

时间:2015-10-20 19:21:01

标签: javascript jquery angularjs checkbox

我有html模板,其中包含复选框输入,并且在组中至少选择了其中一个模板以传递所需的验证。

HTML:

<input class="cb" type="checkbox" value="1" ng-model="form.cb.one"
        ng-required="showRequired" ng-change="handleClick()">one</input>
<input class="cb" type="checkbox" value="2" ng-model="form.cb.two"
       ng-required="showRequired" ng-change="handleClick()">two</input>...

JS:

$scope.showRequired=true;
$scope.form.cb = {one:false, two:true, three:false}
$scope.handleChange = function(){
$scope.showRequired = !($scope.chkCollection.one || $scope.chkCollection.two || $scope.chkCollection.three);
};

我打算在单击复选框时更改验证的ng-required属性,但由于它是模板,因此它可能具有在页面上其他位置使用的相同变量名称($ scope.showRequired),这可能会影响其他必填字段。如何解决这个问题呢?感谢

1 个答案:

答案 0 :(得分:0)

是否需要检查其中一个form.cb组? 如果您需要进行更多验证,可以在考虑showRequired的{​​{1}}行之后执行此操作:

showRequired

和js:

<input class="cb" type="checkbox" value="1" ng-model="form.cb.one"
    ng-required="showRequiredCheckbox()" ng-change="handleClick()">one</input>
<input class="cb" type="checkbox" value="2" ng-model="form.cb.two"
   ng-required="showRequiredCheckbox()" ng-change="handleClick()">two</input>...