取消选中复选框以使表单无效

use*_*195 3 angularjs angularjs-ng-model angularjs-validation

尝试为我的表单中的复选框添加表单验证器,以防它未经检查表单将具有ng-invalid.

<li class="terms_checkbox"><input type="checkbox" id="checkbox_terms" name="terms" /><label for="checkbox_terms"></label></li>
<li class="accept">I have read and accept the terms and conditions</li>
Run Code Online (Sandbox Code Playgroud)

ng-invalid如果没有检查,可以触发添加到表单的任何建议,反之亦然.

PSL*_*PSL 8

您需要做的就是required在复选框上添加属性和ng-model,以便在表单验证期间进行检查.

<li class="terms_checkbox">
   <input type="checkbox" 
       id="checkbox_terms" name="terms" ng-model="agreement" required />
   <label for="checkbox_terms"></label>
</li>
Run Code Online (Sandbox Code Playgroud)

angular.module('app', []).controller('ctrl', function($scope) {

});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <form name="form" novalidate>
    <ul>
      <li class="terms_checkbox">
        <input type="checkbox" id="checkbox_terms" name="terms" ng-model="agreement" required />
        <label for="checkbox_terms"></label>
      </li>
      <li class="accept">I have read and accept the terms and conditions</li>
      <li>
        <button ng-disabled="form.$invalid">Submit</button>
      </li>
    </ul>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)