2016-04-19 106 views
1

如何驗證這個複選框,必須至少有一個被選中,如果沒有,必須有一些消息或警報驗證複選框角

<div class="form-group" ng-class="{ 'has-error' : actionsAddForm.active.$invalid && !actionsAddForm.active.$pristine }"> 
    <label class="control-label col-sm-2">Days*</label> 
    <div class="col-sm-10"> 
     <label>Monday 
      <input type="checkbox" ng-model="actions.value1"> 
     </label> 
     <label>Tuesday 
      <input type="checkbox" ng-model="actions.value2"> 
     </label> 
     <label>Wednesday 
      <input type="checkbox" ng-model="actions.value3"> 
     </label> 
     <label>Thursday 
      <input type="checkbox" ng-model="actions.value4"> 
     </label> 
     <label>Friday 
      <input type="checkbox" ng-model="actions.value5"> 
     </label> 
     <label>Saturday 
      <input type="checkbox" ng-model="actions.value6"> 
     </label> 
     <label>Sunday 
      <input type="checkbox" ng-model="actions.value7"> 
     </label> 
    </div> 

回答

1

這是可以做到:

<div ng-hide="actions.value1 || actions.value2 || actions.value3..."> 
    You have an error 
</div> 

否則,如果你想能夠使用$ valid,...你將不得不創建一個繼承自ngModelController的自定義指令,並在裏面添加自定義驗證器:https://docs.angularjs.org/api/ng/type/ngModel.NgModelController

+0

好的,這是最基本的工作解決方案,thx,現在讓我們這樣做,並開始玩自定義指令 – Mark