AngularJS下拉需要验证
问题描述:
以下是我的代码片段。我想用角度来验证我的下拉菜单。 AngularJS下拉需要验证
<td align="left" width="52%">
<span class="requiredSmall">*</span>
<select class="Sitedropdown" style="width: 220px;"
ng-model="selectedSpecimen().serviceID"
ng-options="service.ServiceID as service.ServiceName for service in services">
<option value="" ng-selected="selected">Select Service</option>
</select>
</td>
有效手段:
有效值可以是任何东西,而是 “选择服务”,这是我的默认值。与其他ASP.net一样需要下拉字段验证程序DefaultValue =“0”,所以这里我的下拉菜单将被绑定到服务上,并且我希望选择除“选择服务”以外的所有其他值。
答
您需要添加一个“名称”属性的下拉列表中,那么你需要添加一个required
属性,然后你可以使用myForm.[input name].$error.required
引用错误:
HTML:
<form name="myForm" ng-controller="Ctrl">
<select name="service_id" class="Sitedropdown" style="width: 220px;"
ng-model="ServiceID"
ng-options="service.ServiceID as service.ServiceName for service in services"
required>
<option value="">Select Service</option>
</select>
<span ng-show="myForm.service_id.$error.required">Select service</span>
</form>
控制器:
function Ctrl($scope) {
$scope.services = [
{ServiceID: 1, ServiceName: 'Service1'},
{ServiceID: 2, ServiceName: 'Service2'},
{ServiceID: 3, ServiceName: 'Service3'}
];
}
这是一个工作plunker。
应该指出的是,选择需要ng-model才能正常工作 – phikes 2013-08-26 10:21:26
正确,ngOptions需要ngModel。 – Stewie 2013-08-26 11:38:32
这个例子非常有用。谢谢。 – ddagsan 2016-06-10 15:26:51