>[Route("checkCodeUniqueness")] > [HttpPut] > public IHttpActionResult CheckCodeUniqueness(UniquenessTestViewModel testModel) > { > UniquenessTest model = AutoMapperConfig.Mapper.Map<UniquenessTest>(testModel); > String errorMessage = _itemAdapter.CheckCodeUniqueness(model); > > testModel.ErrorMessage = errorMessage; > testModel.IsValid = String.IsNullOrEmpty(errorMessage); > > return Ok(testModel); > }>
>(function (angular) { > "use strict"; > > var services, > $log, > resourceFactory; > > angular.module("sysMgrApp").directive("smCodeUniqueValidator", ["ServiceLoader", smCodeUniqueValidator]); > > /** > * smCodeUniqueValidator Directive > * @param {} serviceLoader > * @returns {Object} > */ > function smCodeUniqueValidator(serviceLoader) { > services = serviceLoader; > $log = services.Log.getInstance("smCodeUniqueValidator"); > resourceFactory = services.Resource; > > return { > restrict: "E", > require: "ngModel", > > scope: { > primaryKey: "=?", > tableName: "=?", > columnToTest: "=?" > }, > > link: function ($scope, element, attrs, ngModel) { > $log.debug("Link is firing..."); > ngModel.$asyncValidators.codeUnique = function (value) { > var codeObject = { > id: $scope.primaryKey, tableName: $scope.tableName, > columnToTest: $scope.columnToTest, code: value > }; > return services.Item.checkCodeUniqueness(codeObject); > }; > } > }; > } >})(angular);>
><div class="col-xs-6"> > <div class="controls"> > <label class="control-label" > ng-hide="editRetailTrackingForm.barcode.$error.maxlength && editRetailTrackingForm.barcode.$dirty"> > @Labels.barcode: > </label> > <label class="field-validation-error control-label-error animate-show" > ng-show="editRetailTrackingForm.barcode.$error.maxlength && editRetailTrackingForm.barcode.$dirty"> > @String.Format(Messages.cannotExceed, Labels.barcode, "100") > </label> > <div ng-class="{loading:editRetailTrackingForm.barcode.$pending}"> > <input type="text" name="barcode" > ng-model="currentItem.barcode" > sm-code-unique-validator > table-name="items" > column-to-test="barcode" > primary-key="{{currentItem.itemId}}" > ng-model-options="{ debounce: { default : 500, blur: 0 }}" > class="form-control" > ng-maxlength="100" /> > </div> > </div> > </div>>