如何验证 angularjs 中的 3 个复选框中是否至少选中了一个复选框

How to validate if there is at least one checkbox selected out of 3 checkboxes in angularjs

本文关键字:复选框 一个 是否 何验证 angularjs 中的 验证      更新时间:2023-09-26

好的,所以这是代码:

<input name="chkbx1" type="checkbox"
    ng-model="LoanReferData.Prop1"
    ng-class="Submitted?'ng-dirty':''" required>Prop 1</input>
<input name="chkbx2" type="checkbox"
    ng-model="LoanReferData.Prop2" ng-class="Submitted?'ng-dirty':''"
    required>Prop 2</input>
<input name="chkbx3" type="checkbox" ng-model="LoanReferData.Prop3"
    ng-class="Submitted?'ng-dirty':''" required>Other</input>

<span class="error" ng-show="((frmLoanRefer.chkbx1.$dirty || Submitted) && frmLoanRefer.chkbx1.$error.required) || 
                                                            ((frmLoanRefer.chkbx2.$dirty || Submitted) && frmLoanRefer.chkbx2.$error.required) || 
                                                            ((frmLoanRefer.chkbx3.$dirty || Submitted) && frmLoanRefer.chkbx3.$error.required)  ">
                            * please select atleast 1 property is required.</span>

您可以在输入中添加"ng-true-value"属性作为示例

<input name="chkbx1" type="checkbox" ng-true-value="true"
                            ng-model="LoanReferData.Prop1"
                            ng-class="Submitted?'ng-dirty':''" required>Prop 1</input>
<input name="chkbx2" type="checkbox" ng-true-value="true"
                            ng-model="LoanReferData.Prop2" ng-class="Submitted?'ng-dirty':''"
                            required>Prop 2</input>
<input name="chkbx3" type="checkbox" ng-model="LoanReferData.Prop3" ng-true-value="true"
                            ng-class="Submitted?'ng-dirty':''" required>Other</input>
{{LoanReferData}}

这是一个答案

{"Prop1":"true","Prop2":"true","Prop3":false}

你可以尝试使用!frmLoanRefer.LoanReferData.Prop1而不是frmLoanRefer.chkbx1.$dirty。frmLoanRefer.chkbx2.$dirty 和 frmLoanRefer.chkbx3.$dirty 也是如此