选中时,将ng-repeat循环中的单选按钮设置为$ dirty

时间:2016-03-09 16:24:46

标签: javascript angularjs validation

我遇到的问题如下:

我在ng-repeat中有X个单选按钮。首次加载时不检查这些输入(视图1)。然后,用户检查其中一个输入,然后移动到下一个视图(视图2)。当我回到上一个视图(视图1)。使用ng-checked="{{dealer.selected}}"检查输入。

问题在于即使检查了该字段,也要检查字段。验证类仍为ng-pristine。如果预先检查(以编程方式),如何将其更改为脏?

代码:

                        <td>
                            <div class="selectedDealerInput">
                                <input ng-model="dealerCodeVal.name" id="dealerCode-{{dealer.dealerCode}}" name="dealerCode" value="{{dealer.dealerCode}}" ng-checked="{{dealer.selected}}" type="radio" ng-required="!dealerCodeVal.name">
                                <label for="dealerCode-{{dealer.dealerCode}}">{{dealer.dealerProfile.dealerName}} : {{dealer.selected}}</label>
                                <span data-ng-show="(dealerSelectForm.dealerCode.$dirty || dealerSelectForm.$submitted) && dealerSelectForm.dealerCode.$error.required" class="error">Please select at least one option</span>
                            </div> </td>

                    </tr>

2 个答案:

答案 0 :(得分:0)

来自您的控制器:

$scope.form.dealerCode.$dirty = true;

答案 1 :(得分:0)

在控制器中使用$ setDirty函数:

$ $ scope.form.dealerCode使用setDirty();