Formumdaki girdileri doğrulamak için Angularjs sürüm 1.5 kullanıyorum.Açısal ng gerekli değil Özel yönergeyle çalışma
- tüm giriş doğrulamak için kullanılan olarak gerekli ng onun bir açılan hale özel bir yönergesi ile çalışma, ancak
gerekli. Birleşik giriş, kendisine geçirilen parametreye göre öğeleri 'listId' olarak alır. Ardından, ng-repeat kullanarak 'lookupItems' üzerinde yineleme yapar. Sanırım bir şey eksik, ngModel gibi. Neden ve nasıl uygulanmalı?
açılan yönergesi:
app.directive('combo', function($http) {
return {
restrict: 'AE',
template: '<div class="input-group"> <select ng-model="selectedItem">' +
'<option ng-repeat="option in lookupItems" value={{option.ListValueID}}>{{option.Translation.Value}}</option></select>' +
' {{selectedItem}} </div>',
replace: true,
scope: {
listId: '=',
defaultItem: '=',
selectedItem: '='
},
controller: function($scope) {
$http({
method: 'GET',
url: '/home/listvalues?listid=' + $scope.listId
}).then(function(response) {
$scope.lookupItems = response.data;
}, function(error) {
alert(error.data);
});
},
link: function(scope, element, attrs) {}
};
});
html görünümü: daha sonra ayarlanan özniteliği' dayalı bir mantıksal değere ng-gerekli hale getirmek için kontrol türünü içeren nitelikleri üzerinde yineleme edilir. Gerekli olan doğrudur. şeklinde üzerinde tekrarlanır nitelikler ($ scope.attributes) ait
<form name="profileAttributesForm" ng-controller="metadataCtrl" class="my-form">
<div ng-repeat="a in attributes">
<div ng-if="a.DataType == 1">
<input type="text" name="attribute_{{$index}}" ng-model="a.Value" ng-required="a.Required" />
<span ng-show="profileAttributesForm['attribute_{{$index}}'].$invalid">Enter a Text</span> text : {{a.Value}}
</div>
<div ng-if="a.DataType == 4">
<div combo list-id="a.LookUpList" name="attribute_{{$index}}" selected-item="a.Value" ng-required="a.Required"></div>
<span ng-show="profileAttributesForm['attribute_{{$index}}'].$invalid">lookup Required</span> Value from lookup: {{a.Value}}
</div>
</div>
</form>
Numune, Ben sadece gösterim amaçlı olarak temin ediyorum:
[{
"AttributeID": 1,
"DataType": 4,
"NodeID": 0,
"Name": "Name",
"Description": null,
"LookUpList": 1,
"SortAscending": false,
"Required": true,
"DefaultValue": "1",
"Order": 1,
"Value": ""
}, {
"AttributeID": 3,
"DataType": 1,
"NodeID": 0,
"Name": "Job Title",
"Description": null,
"LookUpList": 0,
"SortAscending": false,
"Required": true,
"DefaultValue": null,
"Order": 2,
"Value": ""
}, {
"AttributeID": 4,
"DataType": 1,
"NodeID": 0,
"Name": "Email",
"Description": null,
"LookUpList": 0,
"SortAscending": false,
"Required": true,
"DefaultValue": null,
"Order": 3,
"Value": ""
}]
Teşekkürler @Cosmin. Karmaşık çözüm için, nasıl uygulanacağını detaylandıran bir link veya örnek verebilir misiniz? – Coding
@ h.salman Sure! Cevabımı düzenledim ve size yardımcı olabilecek bir dizi makale ekledim. –