[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); }Is it right or I should somehow throw an error? And if yes, what should it be?
(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);In my form I added
<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>and then I tried to debug in VS 2017 but nothing happened at all. My validation code is not firing. Do you see what may be wrong? I did add the js file in the bundle.config.