以下は私のコードスニペットです。角度を使用してドロップダウンを検証したい。
<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"が必要なので、ここでドロップダウンをサービスからバインドします。 「サービスの選択」以外のすべての値を選択します。
ドロップダウンリストにname
属性を追加する必要があります。次に、required
属性を追加する必要があり、myForm.[input name].$error.required
を使用してエラーを参照できます。
HTML:
<form name="myForm" ng-controller="Ctrl" ng-submit="save(myForm)" novalidate>
<input type="text" name="txtServiceName" ng-model="ServiceName" required>
<span ng-show="myForm.txtServiceName.$error.required">Enter Service Name</span>
<br/>
<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>
Controller:
function Ctrl($scope) {
$scope.services = [
{ServiceID: 1, ServiceName: 'Service1'},
{ServiceID: 2, ServiceName: 'Service2'},
{ServiceID: 3, ServiceName: 'Service3'}
];
$scope.save = function(myForm) {
console.log('Selected Value: '+ myForm.service_id.$modelValue);
alert('Data Saved! without validate');
};
}
Here's a working [plunker][1].
[1]: http://plnkr.co/edit/xmycAAkWZI5VOogi1MyQ