我的问题如下:
我在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>The issue I have is as follows:
I have X number of radio buttons in an ng-repeat. None of these inputs are checked on first load (View 1). The user then checks one of these inputs then moves to the next view (View 2). When I go back to the previous view (View 1). The input is checked using ng-checked="{{dealer.selected}}".
The problem is that even though the field is 'checked' the validation class is still ng-pristine. How can I change it to dirty if pre checked (programmatically )?
Code:
<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>最满意答案
在控制器中使用$ setDirty函数:
$ scope.form.dealerCode $使用setDirty()。
In the controller use the $setDirty function:
$scope.form.dealerCode.$setDirty();
更多推荐
发布评论