【问题标题】:AngularJS chekbox ng-requiredAngularJS 复选框 ng-required
【发布时间】:2017-10-14 10:34:09
【问题描述】:

当用户clicksubmit 按钮时,我有一些checkboxes 需要checked。 我已经插入了这个ng-required="cbmemberdoc.checked",但似乎不起作用。

这在 css 中

 input.ng-invalid.ng-touched {
        border: 2px solid red;
    }

在提交按钮上我有这个:

ng-disabled="client.$invalid"

这适用于其他文件,如文本框,当用户通过它时没有任何文本但不是复选框,它会变成红色

【问题讨论】:

  • 你能做 plunkr 吗??

标签: angularjs


【解决方案1】:

您需要将输入元素包装在span 中,并将边框应用于该span 元素。以下是 CSS 更改。

CSS:

.error-wrapper{
  display:inline-grid;
  border:2px solid transparent;
}
.error{
  border:2px solid red;
}
.error-wrapper input{
  margin:0px;
}

以下是相同的演示。

var app = angular.module('myApp', []);
app.controller('MyController', function MyController($scope) {
  $scope.array = [false, false, false, false, false];
});
.error-wrapper{
  display:inline-grid;
  border:2px solid transparent;
  border-radius:50%;
  padding:2px;
  padding-left:3px;
}
.error{
  border:2px solid red;
  border-radius:50%;
  padding:2px;
  padding-left:3px;
}
.error-wrapper input{
  margin:0px;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller='MyController' ng-app='myApp'>
  <form name="myForm" novalidate>
    <span class="error-wrapper" ng-class="{'error': myForm.test1.$invalid}">
      <input type="checkbox" ng-model="array[0]" name="test1" required>
    </span>
    <button type="submit" ng-disabled="myForm.$invalid">submit</button>
  </form>
</div>

【讨论】:

  • 我觉得你使用的是 html5 验证而不是 angularjs,因为我看到了 novalidate 标签和 ng-rquired 但我会看到
  • 在我的表单中我有这个
    在乞讨中
  • 是不是可以把复选框用红色圆角而不是正方形包围起来?
  • @hpt 如果你知道 CSS,你可以做 border-radius:50% 检查我更新的答案!
  • 我认为你的 css 可以替换为 input.ng-invalid.ng-touched {border: 2px solid red;轮廓颜色:红色;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 2016-02-25
  • 2013-01-27
相关资源
最近更新 更多