Javascript 需要角材料md复选框
我有一组复选框,它们是一周中的几天。如果用户单击submit按钮,但未选中任何复选框,则我希望显示一条错误消息。下面是我正在使用的HTML代码Javascript 需要角材料md复选框,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我有一组复选框,它们是一周中的几天。如果用户单击submit按钮,但未选中任何复选框,则我希望显示一条错误消息。下面是我正在使用的HTML代码 <form id="addEditForm" name="addEditForm" ng-submit="addEditForm.$valid && saveBooking()" novalidate> <div ng-repeat="item in days"> <md-checkb
<form id="addEditForm" name="addEditForm" ng-submit="addEditForm.$valid && saveBooking()" novalidate>
<div ng-repeat="item in days">
<md-checkbox ng-required="daysSelected.length == 0" ng-checked="dayExists(item, daysSelected)" ng-click="toggleWeekdays(item, daysSelected)" name="daysOfWeek">{{ item }}</md-checkbox>
</div>
<div flex ng-messages="addEditForm.daysOfWeek.$error" ng-if="addEditForm.$submitted">
<div ng-message="required">Please select a day.</div>
</div>
<md-button aria-label="Save Booking" class="md-primary-short" type="submit" >Save</md-button>
</form>
{{item}}
请选择一天。
拯救
好吧,在您的示例中没有submit
,但是我假设在您的HTTP代码下面的某个地方有一个
我建议您使用显示来自控制器的消息。您可以检查您的项目列表是否具有预期的长度(我猜是您已经实现的逻辑),如果没有满足条件,则显示消息
编辑 因此,我会在您的控制器中添加某种oracle,如:
$scope.sentinel=[]
选中某个框时,只需将其值添加到sentinel
值:
$scope.sentinel.push(你的价值)
然后,当您单击submit
按钮时,您只需检查其长度:
if ($scope.sentinel.length == 0) {
$scope.displayError = true;
}
这是我想到的最简单的方法。不要忘记初始化
$scope。将error
变量显示为false
,并在满足条件时将其恢复为true
。我已使用提交按钮更新了代码。我希望将错误消息内联,因为我还有其他字段(我在这里省略了这些字段),这些字段也可能包含错误消息。编辑问题后,再试一次!:)